/ / Problème d'analyse de nom de poste de travail utilisateur FaceBook [fermé] - json, facebook, facebook-graph-api

Problème d'analyse de nom de poste de travail utilisateur FaceBook [fermé] - json, facebook, facebook-graph-api

Bonjour, je rencontre des problèmes en essayant d'obtenir un nom de poste de travail sur un graphique facebook. Ce que j'ai essayé (en json):


https://graph.facebook.com/me?access_token=ABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJK  { "id": "123456789", "nom": "moi moi", "travail": [ { "position": { "id": "987654321", "nom": "administrateur" } } ] }

Ici, je tente d'utiliser "user_work_history", et il semble que la "pemission" ait été autorisée.


echo json_decode (file_get_contents ("https://graph.facebook.com/". $ useid)) -> work-> position-> name

Que dois-je faire pour résoudre ce problème?

Réponses:

1 pour la réponse № 1

Bien. La réponse courte est que l'objet de travail est un tableau d'objets, vous devrez donc accéder à l'élément de tableau approprié. Ce qui suit devrait faire l'affaire:

    echo json_decode(file_get_contents("https://graph.facebook.com/".$useid))->work[0]->position->name

La réponse la plus longue inclut des pointes de style -Personnellement, je diviserais ce code en au moins deux lignes, principalement pour la lisibilité, et je préfère généralement obtenir un tableau d'assoc à partir de json_decode plutôt qu'un objet, mais de toute façon ça marche. Voici une approximation de comment réécrire ceci (en ignorant pour le moment que vous n'utilisez pas le SDK PHP, que vous devriez probablement être). Pas nécessairement les meilleures pratiques (je ne prétends pas être une autorité: p) mais, à mon humble avis, il est beaucoup plus facile de lire, comprendre, déboguer et ajuster rapidement:

$json = file_get_contents("https://graph.facebook.com/" . $user_id);
$user = json_decode($json, true);
$job_title = $user["work"][0]["position"]["name"];