2012-07-10 128 views
0

这是我当前的代码请求权限查看电子邮件和user_photosFacebook - 如何请求离线访问user_photos?

我要访问用户的照片,当用户处于离线状态,我好像记得,这是可能的,但也许我错了。无论如何,如果可能的话,它是如何完成的?

+0

离线访问现已弃用。但似乎可以延长令牌的到期时间。 https://developers.facebook.com/roadmap/offline-access-removal/ – 2012-07-10 04:26:51

回答

1

炫敏(评论)有正确的链接。

作为一个非常简单的总结:

  1. 日志用户正常;你会得到一个访问令牌。这可能是短期或长期(60天)令牌 - 取决于登录方法是服务器端还是客户端(PHP或JS),但不用担心会得到什么。
  2. 请注意,如果您担心:您也可以检查过期是否满意,因为您在获得访问令牌时会提供到期日。但我再次跳过这一步。
  3. 每天一次,您可以将令牌延长至整整60天。只需致电

    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

,你会得到回一个访问令牌(可能会或可能不一样)。只需使用/存储这个新的访问令牌来代替旧的访问令牌。

其实很简单 - 除了跟踪“每天一次”升级位。 (而现在你可以忽略这一点,并多次调用如果需要的话 - 只是会减慢速度分数)


在回应评论 - “你怎么调用URL,让你的令牌”

你不重定向用户,因为它是你需要响应值,所以你需要调用它并处理它。

在PHP中最简单的测试(但不推荐)是使用

$response = file_get_contents($url); 

,但在生产系统上,你应该USSE卷曲(如某些生产系统不允许外部URL的file_get_contents)。无论是Google的CURL示例,还是您可以在包含的Facebook SDK库中使用makeRequest()函数。

+0

谢谢,我一直在阅读很多,这是我得到的第一件事。只是一个问题,我该如何调用该网址?这和重定向它一样吗?谢谢! – lisovaccaro 2012-07-10 04:54:38

+0

btw我使用PHP并获得一个短暂的访问令牌。但正如你所说我直接去了3 – lisovaccaro 2012-07-10 04:56:13

+0

更新回答与答案。 – Robbie 2012-07-10 05:31:06