2011-09-07 99 views
2

對於Facebook,我要求電子郵件和publish_stream如果我請求publish_stream,是否需要「offline_access」權限?

我得到了他們的access_token。好極了!

現在....當我嘗試將POST發送到他們的牆上(/飼料),我得到這個消息:

{"error":{"type":"OAuthException","message":"Error validating access token: Session has expired at unix time 1315342800. The current unix time is 1315363038."}} 

爲什麼?我需要offline_access嗎?

回答

3

號從Facebook的documentation

使您的應用程序來發布內容,評論,喜歡到用戶的 流和用戶的朋友的流。有了這個權限,您可以隨時向用戶的Feed中發佈內容,而不需要 ,要求offline_access

發佈到用戶養活自己短暫的令牌到期後,送過來的訪問令牌格式如下:

appid|appsecret 

此標記格式從PHP SDK源代碼服用。在這種情況下,您將無法使用/ me/feed,因此您需要POST到/ userid/feed

+0

有沒有人確認過? – Zorayr

+0

應用程序訪問令牌的定義如下:「應用程序訪問令牌,用於收集有關用戶和應用程序的公共信息。」它並沒有說你可以發佈到流媒體。 – Zorayr

+0

您是否使用OAuth 2.0和Facebook PHP SDK的最新版本?非常感謝您的寶貴意見。 – Zorayr

1

除非您要求offline_access,否則您將得到一個在設定的時間量後過期的令牌。

所以是的,如果你在請求令牌的短時間內沒有發出API請求(POST),你需要這個。

相關問題