Maison >développement back-end >Tutoriel Python >2 choses cool que vous pouvez faire avec l'API du graphique Facebook

2 choses cool que vous pouvez faire avec l'API du graphique Facebook

Joseph Gordon-Levitt
Joseph Gordon-Levittoriginal
2025-02-25 18:40:10994parcourir

2 Cool Things You Can Do with the Facebook Graph API

2 choses cool que vous pouvez faire avec l'API du graphique Facebook

En décembre 2011, Facebook a officiellement déprécié son API REST et a lancé l'API Graphique à usage public. Depuis lors, toutes les nouvelles fonctionnalités ont été ajoutées à l'API du graphique et Facebook a permis aux utilisateurs d'effectuer des tas de nouvelles choses, dont certaines nous discuterons aujourd'hui. Dans cet article, nous ferons beaucoup de demandes à l'API graphique, recevrons des réponses JSON et les manipulant ainsi pour obtenir les résultats souhaités.

Les plats clés

  • L'API du graphique Facebook permet aux utilisateurs d'effectuer diverses actions telles que l'organisation de concours sur leur page Facebook et la masse répondant aux publications sur leur chronologie.
  • L'accès à l'API graphique nécessite un jeton d'accès, qui est unique à la combinaison d'un utilisateur ou d'une page connecté et de l'application Facebook faisant la demande. Ce jeton offre un accès temporaire et sécurisé à Facebook.
  • L'API graphique peut être utilisée pour comparer des likes sur une page et un message, permettant un jugement efficace des concours. Il peut également automatiser les réponses à plusieurs publications sur la chronologie d'un utilisateur, ce qui en fait un outil précieux pour gérer de grands volumes d'interactions sur les réseaux sociaux.

Le jeton d'accès

La plupart des demandes de l'API graphique ont besoin d'un jeton d'accès comme paramètre. Un jeton d'accès est unique à la combinaison d'un utilisateur ou d'une page connecté et de l'application Facebook qui fait la demande.

Un jeton est associé à une application Facebook pour gérer les autorisations que l'utilisateur a accordées à l'application. Cela définit les ressources accessibles via le jeton d'accès. Ainsi, un jeton offre un accès temporaire et sécurisé à Facebook. Vous pouvez obtenir un jeton d'accès à partir de l'explorateur de graphiques. Un jeton peut ou non avoir un temps exipry selon qu'il s'agit de jetons à court terme ou à long terme. Après l'expiration d'un jeton à court terme, vous devez réauthentifier l'utilisateur et obtenir un nouveau jeton.

CONTENUS ARRIENNES PAGES Facebook

Ces derniers temps, les petites organisations émergentes ont utilisé efficacement les pages Facebook pour promouvoir leur contenu. Pourtant, obtenir des «aime» et donc, augmenter votre portée, est un processus lent et régulier. Beaucoup se tournent vers les publicités Facebook à cet effet. Beaucoup d'autres, cependant, prennent une alternative moins chère - en organisant des concours à travers leur page.

Le concours habituel consiste à publier une photo ou un paragraphe sur la page sur une expérience. Le concours est jugé sur la base du nombre de «goûts» sur le poste ou de la photo. Il y a aussi une condition supplémentaire pour participer au concours. Pour qu’un «like» soit valide, l’utilisateur doit également aimer la page. Facebook n'a pas de fonctionnalité intégrée qui vous indique combien de likes sont communs à votre publication et à votre page. Cela rend le jugement difficile des concours.

Les non-programmateurs auraient l'impression que la seule façon de juger le concours est de vérifier manuellement le nombre de likes. Heureusement, l'API graphique nous aide à effectuer cette action sans trop de tracas.

Bien que je vais effectuer l'action via Python, le processus reste le même pour les autres langues. La partie importante est les URL cibles auxquelles nous envoyons les demandes et les données que nous obtenons du JSON reçu.

Un moyen conceptuellement facile de le faire serait d'obtenir la liste des likes sur un post et la liste des likes sur une page, puis de les comparer. Cependant, il n'y a pas de fonctionnalité sur Facebook qui obtient la liste des likes sur une page pour l'instant. Nous utiliserons le processus inverse pour vérifier si chacun comme sur un message aime également la page.

L'appel suivant vérifie si un utilisateur aime une page ou non. La documentation détaillée est disponible ici.

GET <span>/{user-id}/likes/{page-id}</span>

Si l'utilisateur aime la page, la réponse JSON contient des données sur la page, mais si l'utilisateur n'aime pas la page, une données vide est reçue. Nous utilisons la fonction suivante pour déterminer si un utilisateur aime une page ou non.

<span>def user_likes_page(user_id, page_id):
</span>    <span>"""
</span><span>        Returns whether a user likes a page
</span><span>    """
</span>    url <span>= 'https://graph.facebook.com/%d/likes/%d/' % (user_id, page_id)
</span>    parameters <span>= {'access_token': TOKEN}
</span>    r <span>= requests.get(url, params = parameters)
</span>    result <span>= json.loads(r.text)
</span>    <span>if result['data']:
</span>        <span>return True
</span>    <span>else:
</span>        <span>return False</span>

La prochaine étape consiste à obtenir la liste des goûts pour un article particulier et à savoir si les utilisateurs aiment également la page. L'appel suivant nous donne la liste des goûts pour un message, à condition que nous ayons un accès approprié.

GET <span>/{post-id}/likes/</span>

En combinant les deux idées, nous faisons la fonction suivante pour vérifier combien de likes dans un post sont également communs à la page.

<span>def get_common_likes(post_id, page_id):
</span>    <span>"""
</span><span>        Returns the number of likes common to a post and the page
</span><span>    """
</span>    count_likes <span>= 0
</span>    url <span>= 'https://graph.facebook.com/%d/likes/' % post_id
</span>    parameters <span>= {'access_token': TOKEN}
</span>    r <span>= requests.get(url, params = parameters)
</span>    result <span>= json.loads(r.text)
</span>    <span>for like in result['data']:
</span>        <span>if user_likes_page(int(like['id']), page_id):
</span>            count_likes <span>+= 1
</span>            <span>print 1
</span>    <span>return count_likes</span>

Masse répondant aux messages sur votre calendrier

Le jour de votre anniversaire, je suis sûr que vous obtenez des centaines (sinon des milliers) de messages. Répondre à chacun d'eux est fastidieux! Beaucoup de gens ont mis en place un statut remerciant tout le monde pour leurs souhaits, tandis que d'autres préfèrent remercier chacun personnellement. Voyons comment nous pouvons choisir l'option personnelle et le faire en peu de temps.

L'appel pour obtenir le flux pour les utilisateurs ou les pages est le suivant.

GET <span>/{user-id}/feed</span>

Si vous souhaitez obtenir les messages sur votre chronologie, vous pouvez remplacer {user-id} par «moi», ce qui rend le processus plus facile. Pour manipuler des centaines et des milliers de messages, vous ne pourriez pas les obtenir en une seule page. Vous auriez besoin d'aller de l'avant et de vérifier la prochaine URL de la réponse JSON.

La fonction qui obtient tous les messages sur votre chronologie est la suivante.

<span>def get_posts():
</span>    <span>"""
</span><span>        Returns the list of posts on my timeline
</span><span>    """
</span>
    parameters <span>= {'access_token': TOKEN}
</span>    r <span>= requests.get('https://graph.facebook.com/me/feed', params=parameters)
</span>    result <span>= json.loads(r.text)
</span>    <span>return result['data']</span>

La prochaine étape consiste à publier des commentaires sur votre calendrier. L'appel qui est utilisé pour effectuer cette action est le suivant.

POST <span>/{object-id}/comments</span>

Le commentaire doit être envoyé sous forme de message dans la demande de poste ci-dessus. Ainsi, la fonction que nous utilisons pour commenter les messages est la suivante.

<span>def comment_on_posts(posts):
</span>    <span>"""Comments on all posts"""
</span>    <span>for post in posts:
</span>        url <span>= 'https://graph.facebook.com/%s/comments' % post['post_id']
</span>        message <span>= 'Commenting through the Graph API'
</span>        parameters <span>= {'access_token': TOKEN, 'message': message}
</span>        s <span>= requests.post(url, data = parameters)</span>

Les scripts que j'ai utilisés pour ceux-ci peuvent être trouvés sur GitHub. De plus, vous pouvez aller plus loin en faisant plusieurs demandes d'API en même temps.

une approche alternative

Akshit Khurana, sur Quora, discute d'une autre approche à ce sujet grâce à l'utilisation du langage de requête Facebook (FQL). FQL est un langage de type SQL qui vous permet de demander les données que vous recevez via l'API Graph. Il y a une liste de tables, chacune avec sa propre liste de colonnes qui peuvent être interrogées, vous aidant ainsi à filtrer vos données.

Conclusion

Facebook travaille dur depuis le lancement de l'API graphique et de nouvelles fonctionnalités y sont fréquemment ajoutées. Si vous prévoyez de travailler sur des applications mobiles ou Web liées à Facebook, l'utilisation de l'API graphique est un must. Facebook conserve également une documentation approfondie, ce qui explique en détail les fonctionnalités et la variété des utilisations de l'API graphique.

Questions fréquemment posées (FAQ) sur l'API du graphique Facebook

Quelle est l'API du graphique Facebook et comment cela fonctionne-t-il?

L'API du graphique Facebook est un outil qui permet aux développeurs de lire et d'écrire des données sur Facebook. Il présente une vue simple et cohérente du graphique social Facebook, représentant uniformément des objets dans le graphique (par exemple, les personnes, les photos, les événements et les pages) et les connexions entre elles (par exemple, les relations d'amis, le contenu partagé et les étiquettes photo).

Comment puis-je utiliser l'API Facebook Graph?

Pour utiliser l'API Facebook Graph, vous devez créer une application Facebook et obtenir un jeton d'accès. Ce jeton est utilisé pour faire des demandes d'API au nom d'un utilisateur. L'API est basée sur HTTP, vous pouvez donc l'utiliser avec n'importe quelle langue qui a une bibliothèque HTTP, comme Curl.

Quels sont les avantages de l'utilisation de l'API Facebook Graph?

Le Facebook Graph API fournit aux développeurs un outil puissant pour accéder et manipuler un large éventail de données sur Facebook. Il vous permet d'intégrer votre application ou votre site Web à Facebook pour atteindre ses milliards d'utilisateurs. Vous pouvez lire, écrire et mettre à jour les objets Facebook via l'API, ce qui en fait un outil polyvalent pour l'intégration des médias sociaux.

Quelles sont les limites de l'API du graphique Facebook?

Alors que le graphique Facebook L'API est un outil puissant, il a certaines limites. Par exemple, toutes les données ne sont pas accessibles via l'API. Certaines données utilisateur sont privées et sont accessibles sans l'autorisation explicite de l'utilisateur. De plus, le taux d'API limite le nombre d'appels qu'une application peut faire.

Comment puis-je gérer les erreurs dans l'API Facebook Graph?

L'API Facebook Graph utilise les codes d'état HTTP standard pour indiquer le succès ou échec d'une demande d'API. En cas d'erreur, l'API renvoie un objet JSON avec un code d'erreur et un message expliquant l'erreur. Vous devez implémenter la gestion des erreurs dans votre code pour gérer ces situations.

Puis-je utiliser l'API Facebook Graph pour publier au nom d'un utilisateur?

Oui, vous pouvez utiliser l'API Facebook Graph pour publier au nom d'un utilisateur. Cependant, cela nécessite l'autorisation «Publish_actions», qui doit être accordée par l'utilisateur. Notez que Facebook a des lignes directrices strictes sur la façon dont cette fonctionnalité peut être utilisée pour empêcher le comportement de spam.

Comment puis-je tester mes demandes d'API graphiques Facebook?

Facebook fournit un outil appelé Graph API Explorer. Cet outil vous permet de faire des demandes d'API sans écrire de code. Vous pouvez l'utiliser pour tester vos demandes et voir les réponses en temps réel.

Comment puis-je assurer la sécurité de mon utilisation de l'API du graphique Facebook?

pour assurer la sécurité de votre graphique Facebook Utilisation de l'API, vous devez toujours utiliser une connexion chiffrée (HTTPS), ne jamais inclure votre jeton d'accès dans le code côté client et réviser et mettre à jour régulièrement les autorisations de votre application.

Puis-je utiliser le Facebook API Graphique pour accéder aux données à partir des pages Facebook?

Oui, vous pouvez utiliser l'API Facebook Graph pour accéder aux données à partir des pages Facebook. Cela comprend des publications publiques, des commentaires, des goûts et des actions. Cependant, pour accéder aux données privées, vous avez besoin de l'autorisation «manage_pages».

Comment puis-je paginer à travers les résultats dans l'API du graphique Facebook?

L'API Graphique Facebook utilise une pagination basée sur le curseur pour paginer à travers les résultats. Cela signifie que chaque réponse comprend un curseur «suivant» et «précédent» que vous pouvez utiliser pour naviguer dans les résultats. Vous pouvez spécifier le nombre de résultats par page en utilisant le paramètre «limite».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn