2010-11-08 7 views
30

Sto utilizzando php sdk per accedere agli album e alle foto di un utente in un sito Web. Sono in grado di accedere e anche in grado di recuperare tutte le informazioni sugli album e le foto."È richiesto un token di accesso per richiedere questa risorsa" durante l'accesso a un album/foto con Facebook php sdk

Tuttavia, non sono in grado di visualizzare queste foto sulla pagina Web.

Quando provo l'API grafico, per ottenere la foto/album come di seguito:

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

ottengo il seguente messaggio di errore:

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

Ma lo stesso sta lavorando in mentre cerco per visualizzare la mia foto del profilo e ho un token di accesso valido.

L'aiuto su questo sarebbe molto apprezzato.

risposta

0

Bene, si dispone di un token di accesso valido per accedere alle proprie informazioni e non ad altri (questo perché si è effettuato il login e si è dato il permesso di accedere alle informazioni). Ma il proprietario dell'immagine non ha fatto lo stesso (login + permesso) e quindi stai ricevendo un errore di violazione.

Per ottenere l'autorizzazione, vedere questo link e decidere che tipo di informazioni si desidera da qualsiasi utente e decidere le autorizzazioni. In seguito incorpora questo nel tuo codice. (Nella chiamata della funzione di login)

Grazie

22

Ci sono 3 cose che ti servono.

  1. È necessario oAuth con il proprietario di quelle foto. (Con il permesso esteso 'user_photos')

  2. è necessario il token di accesso (che si ottiene restituito nella casella URL dopo che l'oAuth è fatto.)

  3. Quando completato tali verifiche è quindi possibile accedere alle foto in questo modo https://graph.facebook.com/me?access_token=ACCESS_TOKEN

Potete trovare tutte le informazioni in dettaglio qui: http://developers.facebook.com/docs/authentication

+4

Questa è stata la risposta per me, si scopre che la casella di token di accesso alla parte superiore del grafico API Explorer è puramente per la decorazione e non ha rilevanza per la query che scrivi di seguito. 1/10 non userebbe ancora una UI come questa –

2
  1. Accedi al tuo Facebook.

  2. Vai http://graph.facebook.com

  3. Troverete tutti i tuoi feed con i relativi codici di accesso corrispondenti. ad esempio https://graph.facebook.com/me/home?access_token=2227470867|2.AQAQ6FqN8IW-PUrR.3600.1309471200.0-137977022924629|0sbmdhJN6o9y9J4GDWs8xEygyX8

Divertiti!

+4

Un token di accesso non è permanente. Deve essere inizializzato correttamente. Questo suggerimento è utile per il test, ma non dovrebbe essere implementato in un'applicazione. – rds

1

Per ottenere l'attuale access_token, si può anche fare pro grammaticalmente tramite il seguente codice 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

Quello che non capisco è che sto chiamando da un sito web. Vale a dire, io non sono un'app che chiede il permesso per visualizzare le foto, sono un sito web senza YOUR_APP_ID. –

1

Per ottenere un token di accesso: facebook Graph API Explorer

è possibile personalizzare le autorizzazioni di accesso specifici, i permessi di base sono incluso per impostazione predefinita.