Подтвердить что ты не робот

"Для запроса этого ресурса требуется токен доступа" при доступе к альбому/фотографии с помощью Facebook php sdk

Я использую php sdk для доступа к пользовательским альбомам и фотографиям на веб-сайте. Я могу войти в систему, а также получить всю информацию об альбомах и фотографиях.

Однако я не могу отображать эти фотографии на веб-странице.

Когда я пытаюсь использовать API-интерфейс графика, чтобы получить фотографию/альбом, как показано ниже:

https://graph.facebook.com/131833353530147/picture

Появляется следующее сообщение об ошибке:

{
   "error": {
      "type": "OAuthException",
      "message": "An access token is required to request this resource."
   }
}

Но то же самое работает, пока я пытаюсь отобразить свой профиль pic, и у меня есть действительный токен доступа.

Помощь по этому поводу будет очень признательна.

4b9b3361

Ответ 1

Есть 3 вещи, которые вам нужны.

  • Вам нужно oAuth с владельцем этих фотографий. (с расширенным разрешением 'user_photos')

  • Вам нужен токен доступа (который вы возвращаете в поле URL после завершения oAuth.)

  • Когда все будет завершено, вы сможете получить доступ к фотографиям, например, https://graph.facebook.com/me?access_token=ACCESS_TOKEN

Вы можете найти всю информацию более подробно здесь: http://developers.facebook.com/docs/authentication

Ответ 3

Чтобы получить фактический access_token, вы также можете программировать следующий код PHP:

 require 'facebook.php';

 $facebook = new Facebook(array(
   'appId'  => 'YOUR_APP_ID',
   'secret' => 'YOUR_APP_SECRET',
 ));

 // Get User ID
 $user = $facebook->getUser();

 if ($user) {
   try {
     $user_profile = $facebook->api('/me');
     $access_token = $facebook->getAccessToken();
   } catch (FacebookApiException $e) {
     error_log($e);
     $user = null;
   }
 }

Ответ 4

Чтобы получить токен доступа: facebook Graph API Explorer

Вы можете настроить определенные разрешения доступа, по умолчанию включены основные разрешения.

Ответ 6

Ну, у вас есть действительный токен доступа для доступа к вашей информации, а не для других (это потому, что вы вошли в систему, и вы дали разрешение на доступ к вашей информации). Но владелец изображения не сделал то же самое (зарегистрировался + разрешение), и поэтому вы получаете ошибку нарушения.

Чтобы получить разрешение, см. ссылку и решите, какую информацию вы хотите от любого пользователя и решите разрешения. Позже вставьте это в свой код. (При вызове функции входа в систему)

Спасибо