2011-09-07 102 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),你需要这个。

相关问题