web-dev-qa-db-fra.com

API de graphique Facebook donnant une exception OAuthException inconnue

Lorsque j'envoie une demande à https://graph.facebook.com/me/home?access_token=(code d'accès va ici) Facebook me donne ce message d'erreur:

{
   "error": {
      "type": "OAuthException",
      "message": "An unknown error has occurred."
   }
}

Chaque autre appel d'API fonctionne. Si quelqu'un sait quelque chose à ce sujet, aidez-moi s'il vous plaît.

14
user434565

Facebook n'a pas de très bons messages d'erreur ...

Apparemment, "Une erreur inconnue est survenue" signifie que je ne disposais pas d'autorisations valides pour accéder au flux de nouvelles de l'utilisateur.

Vous devez inclure "read_stream" dans votre portée, sinon Facebook rejettera votre demande avec un message d'erreur ambigu.

Je <3 vous facebook API

12
user434565

En plus des autres réponses fournies ici ...

Dans notre application de production (utilisant des milliers de jetons d'accès pendant plusieurs années), il semble que nous obtenions parfois cette erreur en raison d'un problème temporaire dans l'API. Je ne suis toujours pas sûr de la cause première du problème, mais il suffit de réessayer l'appel de l'API quelques minutes plus tard pour résoudre systématiquement le problème.

5
rinogo

Je reçois cette erreur lorsque le jeton d'accès est le jeton de l'application. Avec le jeton spécifique à l'utilisateur, les appels d'api aboutissent.

Avant la mise à niveau oauth, le jeton de l'application fonctionnait. Le jeton spécifique à l'utilisateur a fonctionné et a généralement renvoyé davantage de données. 

Bien sûr, avec Facebook, il n’ya aucun moyen de savoir si le comportement actuel (échec lors de l’utilisation du jeton d’application) est un bogue ou tout simplement la nouvelle façon.

4
Dave Cohen

Je sais que cette question est ancienne mais je faisais face au même problème aujourd'hui. Dans mon cas, j'essayais de me connecter avec un compte Facebook qui n'était pas enregistré en tant que développeur ou testeur sur Facebook. J'espère que ça aide quelqu'un.

3
huizar_mx

Selon http://developers.facebook.com/docs/reference/api/ , le paramètre est access_token, pas access.

1

J'ai eu le même problème et je l'ai corrigé. Pour moi, je passais un seul objet JSON dans le champ "batch", mais Facebook voulait un tableau JSON. 

Par exemple, cela fonctionnera, car il possède un tableau JSON indiqué par des crochets:

POST /v2.11 HTTP/1.1
Host: graph.facebook.com
Content-Type: application/json
Cache-Control: no-cache
{
"access_token":"YOUR_ACCESS_TOKEN",
"batch":[{"method":"GET", "relative_url":"me/friends?limit=50"}]
}

Cela ne sera pas, car il n'y a pas de tableau JSON indiqué par des crochets:

POST /v2.11 HTTP/1.1
Host: graph.facebook.com
Content-Type: application/json
Cache-Control: no-cache
{
"access_token":"YOUR_ACCESS_TOKEN",
"batch":{"method":"GET", "relative_url":"me/friends?limit=50"}
}
0
Brendan L