web-dev-qa-db-fra.com

Graph API me dit qu'un objet n'existe pas alors qu'il existe

Je commence à créer une petite application pour obtenir les noms associés aux identifiants Facebook pour un projet plus important. Je viens juste de commencer à utiliser l'API Facebook et cela me donne des résultats étranges. La plupart du temps, tout fonctionne bien. J'utilise ce code (j'utilise Python, mais cela n'a pas d'importance ici car c'est l'API de Facebook qui pose problème):

def downloadString(url, params):
    cookie = {}
    data = requests.get(url,cookies=cookie,params=params)
    return data.text
url = "https://graph.facebook.com/v2.6/"  
id = "afriendidhere"
dl = basics.downloadString(url + id, {"access_token":accesstoken})
res = json.loads(dl)

Comme je l'ai dit, la plupart du temps, cela fonctionne très bien, en me donnant le nom de la personne donnée. Cependant, pour deux personnes de ma liste d'amis, le message suivant s'affiche:

{
  "error": {
    "message": "Unsupported get request. Object with ID 'theid' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
    "type": "GraphMethodException",
    "code": 100,
    "fbtrace_id": "FTfrh78XjW/"
  }
}

Je ne comprends pas pourquoi. La personne avec cet identifiant existe, car je peux accéder à la page http://facebook.com/messages/theid et cela me donne l'historique de mes conversations avec cet utilisateur. Ce sont toujours les mêmes personnes qui causent l'erreur, tout le monde fonctionne parfaitement.

Quelqu'un sait-il pourquoi ?

7
Thomas Kowalski

Vous êtes uniquement censé obtenir des données d'utilisateurs qui ont autorisé votre application. Autorisez-les, obtenez leur identifiant Scoped et leur nom avec le point final /me. Plus d'informations: https://developers.facebook.com/docs/graph-api/reference/v2.6/user

2
luschn

La solution pour moi était de publier la page dans les paramètres

Visibilité de la page -> Publier 

Sauvegarder les modifications

1
kabus

Essayez de supprimer les limitations de visibilité des paramètres de votre page (telles que les restrictions de pays, etc.).

0
KostasR