Facebook - 如何申请离线访问user_photos?

时间:2012-07-10 04:14:28

标签: php facebook facebook-graph-api facebook-php-sdk

这是我当前要求查看电子邮件和user_photos的权限的代码

    'req_perms' => 'email,user_photos',

我想在用户离线时访问用户照片,我似乎记得这是可能的,但也许我错了。无论如何,如果有可能,它是如何完成的?

1 个答案:

答案 0 :(得分:1)

Hyunmin(评论中)有正确的链接。

快速摘要:

  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

  4. 并且您获得了访问令牌(可能相同或不同)。只需使用/存储这个新的访问令牌来代替旧的访问令牌。

    实际上非常简单 - 除了跟踪“每天一次”升级位。 (现在你可以忽略这一点,如果需要可以多次调用 - 只是让事情变得微不足道。)


    在回复评论时 - “您如何调用提供令牌的URL?”

    您不需要重定向用户,因为您需要响应值,因此您需要调用它并处理它。

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

    $response = file_get_contents($url);
    

    但是在生产系统上你应该使用CURL(因为一些生产系统不允许外部URL的file_get_contents)。您可以使用谷歌搜索CURL示例,也可以使用随附的facebook SDK库中的makeRequest()函数。