Heim > Backend-Entwicklung > Python-Tutorial > 2 coole Dinge, die Sie mit der Facebook -Graph -API machen können

2 coole Dinge, die Sie mit der Facebook -Graph -API machen können

Joseph Gordon-Levitt
Freigeben: 2025-02-25 18:40:10
Original
988 Leute haben es durchsucht

2 Cool Things You Can Do with the Facebook Graph API

2 coole Dinge, die Sie mit der Facebook -Graph -API machen können

Im Dezember 2011 hat Facebook seine REST -API offiziell veraltet und die Graph -API für die öffentliche Verwendung gestartet. Seitdem wurden alle neuen Funktionen zur Graph -API hinzugefügt, und Facebook hat es den Benutzern ermöglicht, viele neue Dinge auszuführen, von denen einige heute diskutieren werden. In diesem Beitrag werden wir viele Anfragen an die Graph -API stellen, JSON -Antworten erhalten und sie damit manipulieren, um unsere gewünschten Ergebnisse zu erzielen.

Key Takeaways

  • Mit der Facebook -Graph -API können Benutzer verschiedene Aktionen ausführen, z.
  • Zugriff auf die Graph-API erfordert ein Zugriffstoken, das für die Kombination eines protokollierten Benutzers oder der Seite und der Facebook-App, die die Anfrage erstellt, eindeutig ist. Dieses Token bietet vorübergehenden und sicheren Zugriff auf Facebook.
  • Die Graph -API kann verwendet werden, um Likes auf einer Seite und einen Beitrag zu vergleichen, was eine effiziente Beurteilung von Wettbewerben ermöglicht. Es kann auch die Antworten auf mehrere Beiträge auf der Zeitleiste eines Benutzers automatisieren, was es zu einem wertvollen Instrument zur Verwaltung großer Mengen an Social -Media -Interaktionen macht.
Das Zugangstoken

Die meisten Anforderungen an die Graph -API benötigen einen Zugriffstoken als Parameter. Ein Zugriffstoken ist einzigartig für die Kombination eines angemeldeten Benutzer oder der Seite und der Facebook -App, die die Anfrage stellt.

A Token ist einer Facebook -App zugeordnet, um die Berechtigungen zu verarbeiten, die der Benutzer der App erteilt hat. Dies definiert die Ressourcen, die über das Zugangstoken zugänglich sind. Somit bietet ein Token einen vorübergehenden und sicheren Zugriff auf Facebook. Sie können einen Zugriffstoken aus dem Graph Explorer erhalten. Ein Token kann eine Exipry-Zeit haben oder nicht, je nachdem, ob es sich um kurzfristige oder langfristige Token handelt. Nach Ablauf eines kurzfristigen Tokens müssen Sie den Benutzer erneut authentifizieren und ein neues Token erhalten.

Wettbewerbe über Facebook -Seiten

In letzter Zeit haben kleine und aufstrebende Organisationen Facebook-Seiten effektiv verwendet, um ihre Inhalte zu bewerben. Es ist jedoch ein langsamer und stetiger Prozess, „Likes“ zu bekommen und damit Ihre Reichweite zu erhöhen. Viele wenden sich zu diesem Zweck an Facebook -Anzeigen. Viele andere nehmen jedoch eine billigere Alternative - indem sie Wettbewerbe durch ihre Seite organisieren.

Der übliche Wettbewerb beinhaltet die Veröffentlichung eines Fotos oder eines Absatzes auf der Seite über eine Erfahrung. Der Wettbewerb wird anhand der Anzahl der „Likes“ auf dem Beitrag oder dem Foto beurteilt. Es gibt auch eine zusätzliche Bedingung für die Teilnahme am Wettbewerb. Damit ein "Like" gültig ist, muss der Benutzer auch die Seite mögen. Facebook verfügt über keine integrierte Funktion, die Ihnen sagt, wie viele Likes in Ihrem Beitrag und Ihrer Seite gemeinsam sind. Das erschwert die Beurteilung der Wettbewerbe.

Nichtprogrammierer würden das Gefühl haben, dass der einzige Weg, den Wettbewerb zu beurteilen, darin besteht, die Anzahl der Likes manuell zu überprüfen. Glücklicherweise hilft uns die Graph -API, diese Aktion ohne viel Ärger auszuführen.

Obwohl ich die Aktion über Python ausführen werde, bleibt der Prozess für andere Sprachen gleich. Der wichtige Teil ist die Ziel -URLs, an die wir die Anfragen senden, und die Daten, die wir vom empfangenen JSON erhalten.

Eine konzeptionell einfache Möglichkeit, dies zu tun, wäre, die Liste der Likes in einem Beitrag und die Liste der Likes auf einer Seite zu erhalten und sie dann zu vergleichen. Es gibt jedoch keine Funktionalität in Facebook, die ab sofort die Liste der Likes auf einer Seite erhält. Wir werden den umgekehrten Vorgang verwenden, um zu überprüfen, ob jeder auch in einem Beitrag die Seite mag.

Der folgende Anruf überprüft, ob ein Benutzer eine Seite mag oder nicht. Die detaillierte Dokumentation ist hier verfügbar.

GET <span>/{user-id}/likes/{page-id}</span>
Nach dem Login kopieren

Wenn der Benutzer die Seite mag, enthält die JSON -Antwort Daten zur Seite, aber wenn der Benutzer die Seite nicht mag, wird ein leerer Daten empfangen. Wir verwenden die folgende Funktion, um festzustellen, ob ein Benutzer eine Seite mag oder nicht.

<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>
Nach dem Login kopieren

Der nächste Schritt besteht darin, die Liste der Likes für einen bestimmten Beitrag zu erhalten und herauszufinden, ob die Benutzer auch die Seite mögen. Der folgende Anruf gibt uns die Liste der Likes für einen Beitrag, vorausgesetzt, wir haben einen ordnungsgemäßen Zugriff.

GET <span>/{post-id}/likes/</span>
Nach dem Login kopieren

Kombinieren Sie die beiden Ideen, wir stellen die folgende Funktion, um zu überprüfen, wie viele Likes in einem Beitrag auch der Seite gemeinsam sind.

<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>
Nach dem Login kopieren

Masse reagiert auf Beiträge auf Ihrer Zeitleiste

Zu Ihrem Geburtstag bin ich sicher, dass Sie Hunderte (wenn nicht Tausende) Beiträge erhalten. Auf jeden von ihnen zu antworten ist langweilig! Viele Leute haben einen Status eröffnet, der sich für alle für ihre Wünsche bedankt, während andere es vorziehen, sich persönlich zu bedanken. Lassen Sie uns sehen, wie wir die persönliche Option auswählen und in kurzer Zeit tun können.

Der Anruf, um den Feed für Benutzer oder Seiten zu erhalten, ist wie folgt.

GET <span>/{user-id}/feed</span>
Nach dem Login kopieren

Falls Sie die Beiträge auf Ihrer Zeitleiste erhalten möchten, können Sie {user-id} durch "Ich" ersetzen, was den Prozess erleichtert. Um Hunderte und Tausende von Beiträgen zu manipulieren, könnten Sie sie nicht auf einer einzigen Seite bekommen. Sie müssten einen Schritt vorausgehen und die nächste URL in der JSON -Antwort überprüfen.

Die Funktion, die alle Beiträge auf Ihrer Zeitleiste erhält, lautet wie folgt.

<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>
Nach dem Login kopieren

Der nächste Schritt besteht darin, Kommentare zu Ihrer Zeitleiste zu veröffentlichen. Der Anruf, der zur Ausführung dieser Aktion verwendet wird, ist wie folgt.

POST <span>/{object-id}/comments</span>
Nach dem Login kopieren

Der Kommentar sollte in der obigen Postanforderung als Nachricht gesendet werden. Die Funktion, mit der wir Beiträge kommentieren, lautet wie folgt.

<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>
Nach dem Login kopieren

Die Skripte, die ich für beide verwendet habe, finden Sie auf GitHub. Außerdem können Sie noch einen Schritt weiter gehen, indem Sie gleichzeitig mehrere API -Anfragen stellen.

ein alternativer Ansatz

Akshit Khurana über Quora diskutiert einen anderen Ansatz dazu durch die Verwendung von Facebook -Abfragesprache (FQL). FQL ist eine SQL-ähnliche Sprache, mit der Sie die Daten, die Sie über die Graph-API erhalten, abfragen können. Es gibt eine Liste von Tabellen mit jeweils eine eigene Liste von Spalten, die abgefragt werden können, wodurch Sie Ihre Daten filtern.

Schlussfolgerung

Facebook hat seit dem Start der Graph -API hart gearbeitet, und es werden häufig neue Funktionen hinzugefügt. Wenn Sie planen, an mobilen oder Webanwendungen zu arbeiten, die mit Facebook verknüpft sind, ist die Verwendung der Graph -API ein Muss. Facebook behält auch eine umfangreiche Dokumentation bei, die die Funktionen und die Vielfalt der Graph -API ausführlich erläutert.

häufig gestellte Fragen (FAQs) zu Facebook Graph API

Was ist die Facebook -Graph -API und wie funktioniert sie? Es präsentiert eine einfache, konsistente Sichtweise des Facebook -sozialen Graphen, das Objekte in der Grafik (z. B. Personen, Fotos, Ereignisse und Seiten) und die Verbindungen zwischen ihnen (z. B. Beziehungen mit Freunden, gemeinsamen Inhalten und Foto -Tags) einheitlich darstellt.

Wie kann ich die Facebook -Graph -API verwenden? Dieses Token wird verwendet, um API -Anfragen im Namen eines Benutzers zu stellen. Die API basiert auf HTTP, sodass Sie sie mit jeder Sprache mit einer HTTP -Bibliothek wie Curl verwenden können. Die Graph -API bietet Entwicklern ein leistungsstarkes Tool, um auf Facebook auf eine Vielzahl von Daten zuzugreifen und zu manipulieren. Sie können Ihre App oder Website in Facebook integrieren, um die Milliarden von Benutzern zu erreichen. Sie können Facebook -Objekte über die API lesen, schreiben und aktualisieren, um sie zu einem vielseitigen Tool für die Integration von sozialen Medien zu machen.

Was sind die Grenzen der Facebook -Graph -API? API ist ein leistungsstarkes Werkzeug, es hat einige Einschränkungen. Zum Beispiel sind nicht alle Daten über die API zugänglich. Einige Benutzerdaten sind privat und können nicht ohne die explizite Erlaubnis des Benutzers zugegriffen werden. Darüber hinaus begrenzt die API -Rate die Anzahl der Aufrufe, die eine App erstellen kann. oder Misserfolg einer API -Anfrage. Bei einem Fehler gibt die API ein JSON -Objekt mit einem Fehlercode und einer Meldung zurück, die den Fehler erläutert. Sie sollten die Fehlerbehandlung in Ihrem Code implementieren, um diese Situationen zu bearbeiten.

Kann ich die Facebook -Graph -API verwenden, um im Namen eines Benutzers zu posten? Dies erfordert jedoch die Erlaubnis „Publish_actions“, die vom Benutzer erteilt werden muss. Beachten Sie, dass Facebook strenge Richtlinien für die Verhinderung dieser Funktion zum Verhindern von Spammy -Verhaltensweisen hat.

Wie kann ich meine Facebook -Graph -API -Anforderungen testen? Mit diesem Tool können Sie API -Anfragen stellen, ohne Code zu schreiben. Sie können es verwenden, um Ihre Anfragen zu testen und die Antworten in Echtzeit anzusehen. API-Nutzung, Sie sollten immer eine verschlüsselte Verbindung (HTTPS) verwenden, Ihr Zugriffstoken niemals in den clientseitigen Code einfügen und die Berechtigungen Ihrer App regelmäßig überprüfen und aktualisieren.

Kann ich das Facebook verwenden Graph -API zum Zugriff auf Daten von Facebook -Seiten? Dies schließt öffentliche Beiträge, Kommentare, Likes und Shares ein. Um auf private Daten zuzugreifen, benötigen Sie jedoch die Berechtigung "verwalten_pages". durch Ergebnisse. Dies bedeutet, dass jede Antwort einen "nächsten" und "vorherigen" Cursor enthält, mit dem Sie durch die Ergebnisse navigieren können. Sie können die Anzahl der Ergebnisse pro Seite mit dem Parameter "Grenzwert" angeben.

Das obige ist der detaillierte Inhalt von2 coole Dinge, die Sie mit der Facebook -Graph -API machen können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage