2011-09-26 29 views
0

看起來,即使您擁有publish_actions權限,access_token仍會在幾個小時後過期。如果publish_actions的目標是爲了能夠在後臺爲用戶做事,而不需要一遍又一遍地詢問權限,那麼我們如何在沒有來自用戶的輸入的情況下更新令牌?如何處理新的OpenGraph發佈操作功能的過期訪問令牌?

我也讀到這裏:https://developers.facebook.com/docs/beta/opengraph/actions/

Note - Apps can also use an App Access Token to publish actions for authenticated users. 

但是,這並不對我也上班,我得到:

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException"}} 

編輯 應用程序訪問令牌的工作,但在API URL中,您必須將「我」更改爲用戶的ID(例如https://graph.facebook.com/me =>https://graph.facebook.com/<some user id>

回答

0

聽起來像你找到你的答案:)。如果您確實想要使用用戶令牌而不是應用令牌,則可以請求offline_access權限(生成非到期用戶令牌),但我會建議儘可能使用應用令牌。

1

在極少數情況下,您需要offline_access權限。

要發佈OG操作,用戶必須出現在您的應用中。當他們不在場並在您的應用中執行操作時,您不得以他們的名義發佈操作。

因此,您可以使用JS SDK來保持用戶令牌的新鮮度。只需在每個頁面上異步運行FB.getLoginStatus(),並且只要用戶已經授權並登錄到Facebook,就可以確保您始終擁有有效的訪問令牌。

相關問題