Facebook Graph PHP FQL: разрешения для фотографий друзей (новый SDK) - PullRequest
0 голосов
/ 27 января 2012

Не могу понять, как добавить разрешения на мой токен доступа для доступа к фотографиям друзей. У меня есть:

//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);

Запрос возвращается пустым.

1 Ответ

1 голос
/ 27 января 2012

Вы должны использовать scope из OAuth-диалоговое окно (см. Свойства), чтобы запросить разрешения у пользователя, позже вы просто используете его access_token.

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

Кстати, нет аргумента perms для https://graph.facebook.com/oauth/access_token

...