web-dev-qa-db-fra.com

"Un jeton d'accès est requis pour demander cette ressource" lors de l'accès à un album / photo avec Facebook php sdk

J'utilise le php sdk pour accéder aux albums et photos d'un utilisateur sur un site Web. Je peux me connecter et également récupérer toutes les informations sur les albums et les photos.

Cependant, je ne peux pas afficher ces photos sur la page Web.

Lorsque j'essaie l'API graphique, pour obtenir la photo/l'album comme ci-dessous:

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

Je reçois le message d'erreur suivant:

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

Mais la même chose fonctionne pendant que j'essaie d'afficher ma photo de profil et que j'ai un jeton d'accès valide.

Une aide à ce sujet serait grandement appréciée.

35
Alloi

Il y a 3 choses dont vous avez besoin.

  1. Vous devez oAuth avec le propriétaire de ces photos. (Avec la permission étendue 'user_photos'))

  2. Vous avez besoin du jeton d'accès (que vous obtenez retourné dans la zone URL après le oAuth est terminé.)

  3. Lorsque ceux-ci sont terminés, vous pouvez accéder aux photos comme ceci https://graph.facebook.com/me?access_token=ACCESS_TOKEN

Vous pouvez trouver toutes les informations plus en détail ici: http://developers.facebook.com/docs/authentication

26
jwmann

Essayez cette URL avec un ID utilisateur et un jeton d'accès valides:

https://graph.facebook.com/ {userid}/photos? limit = 20 & access_token = {access_token}

3
Sanchit
  1. Connectez-vous à votre Facebook.

  2. Allez sur http://graph.facebook.com

  3. Vous retrouverez tous vos flux avec leurs codes d'accès correspondants. par exemple https://graph.facebook.com/me/home?access_token=2227470867|2.AQAQ6FqN8IW-PUrR.3600.1309471200.0-137977022924629|0sbmdhJN6o9y9J4GDWs8xEygyX8

Prendre plaisir!

2
Shawinder Sekhon

Pour obtenir le access_token Réel, vous pouvez également le faire grammaticalement via le code PHP 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;
   }
 }
1
Peter Teoh

Pour obtenir un jeton d'accès: Facebook Graph API Explorer

Vous pouvez personnaliser des autorisations d'accès spécifiques, les autorisations de base sont incluses par défaut.

1
Ujjwal Singh

Eh bien, vous disposez d'un jeton d'accès valide pour accéder à vos informations et pas à d'autres (c'est parce que vous vous êtes connecté et que vous avez donné la permission d'accéder à vos informations). Mais le propriétaire de l'image n'a pas fait la même chose (connecté + autorisation) et vous obtenez donc une erreur de violation.

Pour obtenir l'autorisation voir ceci link et décider quel type d'informations vous voulez de n'importe quel utilisateur et décider des autorisations. Plus tard, intégrez cela dans votre code. (Dans l'appel de la fonction de connexion)

Merci

0
sashtinathan