"Для запроса этого ресурса требуется токен доступа" при доступе к альбому/фотографии с помощью 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, и у меня есть действительный токен доступа.
Помощь по этому поводу будет очень признательна.
Ответы
Ответ 1
Есть 3 вещи, которые вам нужны.
-
Вам нужно oAuth с владельцем этих фотографий. (с расширенным разрешением 'user_photos')
-
Вам нужен токен доступа (который вы возвращаете в поле URL после завершения oAuth.)
-
Когда все будет завершено, вы сможете получить доступ к фотографиям, например, https://graph.facebook.com/me?access_token=ACCESS_TOKEN
Вы можете найти всю информацию более подробно здесь: http://developers.facebook.com/docs/authentication
Ответ 2
Наслаждайтесь!
Ответ 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
Вы можете настроить определенные разрешения доступа, по умолчанию включены основные разрешения.
Ответ 5
Попробуйте этот URL-адрес с допустимым идентификатором пользователя и доступом:
https://graph.facebook.com/{userid}/photos? limit = 20 & access_token = {access_token}
Ответ 6
Ну, у вас есть действительный токен доступа для доступа к вашей информации, а не для других (это потому, что вы вошли в систему, и вы дали разрешение на доступ к вашей информации). Но владелец изображения не сделал то же самое (зарегистрировался + разрешение), и поэтому вы получаете ошибку нарушения.
Чтобы получить разрешение, см. ссылку и решите, какую информацию вы хотите от любого пользователя и решите разрешения. Позже вставьте это в свой код. (При вызове функции входа в систему)
Спасибо