Facebook Graph PHP FQL:好友照片权限(新 SDK)

发布于 2024-12-29 12:22:15 字数 1188 浏览 0 评论 0原文

无法弄清楚如何向我的访问令牌添加权限以访问朋友的照片。我有:

//auth user
 if(empty($code)) {
   $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
              . $app_id . '&redirect_uri=' . urlencode($my_url)
              . '&scope=friends_photos';
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
  }
  //get user access_token
  $token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code
    . '&scope=friends_photos';

  $access_token = file_get_contents($token_url);

  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q=SELECT+pid,object_id+FROM+photo_tag+WHERE+subject=301179'
    . '&' . $access_token;

     $graph_url = "https://graph.facebook.com/me?access_token=" 
       . $access_token;

     $user = json_decode(file_get_contents($graph_url));

 $fql_query_result = file_get_contents($fql_query_url);
  $fql_query_obj = json_decode($fql_query_result, true);

    echo '<pre>';
  print_r("query results:");
  print_r($fql_query_obj);

查询返回空。

Can't figure out how to add permissions to my access token to access friends photos. I have:

//auth user
 if(empty($code)) {
   $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
              . $app_id . '&redirect_uri=' . urlencode($my_url)
              . '&scope=friends_photos';
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
  }
  //get user access_token
  $token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code
    . '&scope=friends_photos';

  $access_token = file_get_contents($token_url);

  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q=SELECT+pid,object_id+FROM+photo_tag+WHERE+subject=301179'
    . '&' . $access_token;

     $graph_url = "https://graph.facebook.com/me?access_token=" 
       . $access_token;

     $user = json_decode(file_get_contents($graph_url));

 $fql_query_result = file_get_contents($fql_query_url);
  $fql_query_obj = json_decode($fql_query_result, true);

    echo '<pre>';
  print_r("query results:");
  print_r($fql_query_obj);

The query comes back empty.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

未央 2025-01-05 12:22:15

您应该使用 OAuth 对话框范围(请参阅属性)向用户请求权限,稍后您只需使用他的access_token

$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
              . $app_id . '&redirect_uri=' . urlencode($my_url)
              . '&scope=friends_photos';

顺便说一句,https://graph.facebook.com/oauth/access_token 没有参数 perms

You should use scope of OAuth dialog (see properties) to request permissions from user, later you just use his access_token.

$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
              . $app_id . '&redirect_uri=' . urlencode($my_url)
              . '&scope=friends_photos';

BTW, there is no argument perms for https://graph.facebook.com/oauth/access_token

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文