2016-12-23 14 views
0

Lorsque vous utilisez le paramètre /page/feed dans l'API Graph Facebook Je ne peux pas comprendre comment savoir si le poste a été faite par une page ou un utilisateurAPI graphique: Vérifiez si après alimentation a été faite par une page ou l'utilisateur

Voilà comment j'appelle le point final en ce moment:

HTTP GET https://graph.facebook.com/v2.8/{page_id}/feed?fields=is_published,from,message

Cela donne la réponse JSON suivante:

{ 
    "data": [ 
      { 
      "from": { 
       "name": "Chad Smith", # <-- This is a User 
       "id": "806273209398023" 
      }, 
      "message": "A really magical place! Best Christmas...", 
      "id": "103988597020_1445496708809010" 
      }, 
      { 
      "from": { 
       "name": "Tivoli", # <-- This is a Page 
       "id": "103988597020" 
      }, 
      "message": "Hello everybody...", 
      "id": "103988597020_10154040865527021" 
      }, 
    ] 
} 

Comment puis-je savoir si la publication provient d'une page ou d'un utilisateur sans effectuer d'appels d'API supplémentaires? J'ai essayé d'utiliser des sous-champs, mais je ne sais pas s'ils fonctionnent sur le champ from.

+1

La syntaxe de base pour demander des "sous-champs" est décrite ici, https://developers.facebook.com/docs/graph- api/using-graph-api/# fieldexpansion – CBroe

Répondre

0

Je l'ai résolu en utilisant ?fields=from{name,about} et en le marquant comme Page si le JSON from contient about.

Ce n'est pas la meilleure solution, mais about est actuellement le seul sous-domaine de from qui ne manque pas User. (par exemple, si j'utilisais ?fields=from{fan_count}, l'API Graph échouerait pour les messages créés par les objets User