对于Facebook,我要求电子邮件和publish_stream 。
我得到了他们的access_token。耶!
现在....当我尝试将POST发送到他们的墙(/ feed)时,我收到此消息:
{"error":{"type":"OAuthException","message":"Error validating access token: Session has expired at unix time 1315342800. The current unix time is 1315363038."}}
为什么呢?我需要offline_access吗?
答案 0 :(得分:3)
没有。来自Facebook的documentation:
使您的应用能够向用户发布内容,评论和赞 流和用户的朋友的流。有了这个许可, 您可以随时将内容发布到用户的Feed,不会 需要offline_access 。
要在短期令牌过期后发布到用户Feed,请使用以下格式发送访问令牌:
appid|appsecret
此令牌格式取自PHP SDK源代码。在这种情况下,您将无法使用/ me / feed,因此您需要POST到/ userid / feed
答案 1 :(得分:1)
除非您请求offline_access
,否则您将获得在一段时间后过期的令牌。
所以是的,如果您在请求令牌的短时间内没有发出API请求(POST),则需要这样做。