在Facebook上访问用户个人资料的离线访问权限的替代方案?

时间:2012-06-27 17:05:34

标签: facebook facebook-graph-api

Facebook已经弃用了离线访问权限。作为开发人员,当他不在线时我可以通过其他方式在用户的墙上发帖,或者只有当他在访问我的应用程序?

3 个答案:

答案 0 :(得分:4)

您可以在应用中增加2个表格列,即short_access_token& long_access_token。

用户验证您的应用后,会生成一个访问令牌,并将其存储在short_access_token中。然后将此访问令牌传递给:

https://graph.facebook.com/oauth/access_token
    CLIENT_ID = APP_ID&安培;     client_secret = APP_SECRET&安培;     grant_type = fb_exchange_token&安培;     fb_exchange_token = EXISTING_ACCESS_TOKEN

运行此操作后,将生成具有60天有效期的访问令牌。将其存储在long_access_token中。现在,使用这个long_access_token 60天。

您每天只能生成一次长期访问令牌,即第一次。使用这个长期访问令牌在用户的墙上发布(如果你已经获得了许可)。

参考:https://developers.facebook.com/roadmap/offline-access-removal/

答案 1 :(得分:2)

您可以在没有该用户登录的情况下发布到用户墙,最长可达60天。之后,您需要强制用户再次登录Facebook并获得新的60天访问令牌。

要优雅地完成所有这些操作,您应该在数据库中存储获取令牌的日期,并在该日期临近时为用户设置必要的用户界面。

此外,如果用户是您的应用程序的不常用户,您应该至少每天测试一次令牌的有效性,如果您的应用发现令牌已过期,请将其重定向到登录Facebook。这也有助于重新。由于用户更改了他们的Facebook密码,令牌变得无效。

答案 2 :(得分:1)

当然,只要您拥有有效的访问令牌,您就可以发布到用户的墙上 - 无论他们是否处于“在线”状态。

阅读的东西(显然你在询问之前看起来没有做过很多关于你自己的研究):

https://developers.facebook.com/roadmap/offline-access-removal/

https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/