Wichtiger Hinweis: Ab Mitte 2018 wurde der Prozess zum Abrufen von Twitter-API-Token viel bürokratischer. Ich habe über eine Arbeitswoche gebraucht , um eine Reihe von API-Token bereitzustellen. Dies ist ein Open-Source-Projekt für euch Jungs und Mädchen mit über 1,2 Millionen Installationen auf Packagist und 1,6.000 Sternen auf Github, das theoretisch eine höhere Priorität haben sollte .
Wenn Sie mit der Arbeit mit der Twitter-API für Ihre Arbeit beauftragt sind, müssen Sie diese möglicherweise extrem lange Wartezeit berücksichtigen. Berücksichtigen Sie auch andere Social-Media-Möglichkeiten wie Facebook oder Instagram und bieten Sie diese Optionen an, da das Abrufen der Token sofort erfolgt.
Sie möchten also die Twitter v1.1-API verwenden?
Hinweis: Die Dateien für diese befinden sich auf GitHub .
Version 1.0 wird bald veraltet sein und nicht autorisierte Anfragen werden nicht zugelassen. Hier ist ein Beitrag, der Ihnen dabei hilft, zusammen mit einer PHP-Klasse, die Ihnen das Leben erleichtert.
1. Erstellen Sie ein Entwicklerkonto: Richten Sie ein Entwicklerkonto bei Twitter ein
Sie müssen die offizielle Twitter-Entwicklerseite besuchen und sich für ein Entwicklerkonto registrieren. Dies ist ein kostenloser und notwendiger Schritt, um Anforderungen für die v1.1-API zu stellen.
2. Erstellen Sie eine Anwendung: Erstellen Sie eine Anwendung auf der Twitter-Entwicklerseite
Was? Sie dachten, Sie könnten nicht authentifizierte Anfragen stellen? Nicht mit der v1.1-API von Twitter. Sie müssen http://dev.twitter.com/apps besuchen und auf die Schaltfläche "Anwendung erstellen" klicken.
Geben Sie auf dieser Seite die gewünschten Details ein. Für mich war das egal, weil ich nur eine Menge Blockanfragen stellen wollte, um Spam-Follower loszuwerden. Der Punkt ist, dass Sie sich einen Satz eindeutiger Schlüssel besorgen, die Sie für Ihre Anwendung verwenden können.
Beim Erstellen einer Anwendung müssen Sie sich (und Twitter) einen Schlüsselbund geben. Diese sind:
- Der Verbraucherschlüssel
- Das Verbrauchergeheimnis
- Das Zugriffstoken
- Das Zugriffstoken-Geheimnis
Es gibt ein wenig Informationen hier auf das, was diese Tokens für.
3. Zugriffstoken erstellen : Sie benötigen diese, um erfolgreiche Anforderungen zu stellen
OAuth fordert einige Token an. Sie müssen sie also für Sie generieren lassen.
Klicken Sie unten auf "Mein Zugriffstoken erstellen". Sobald Sie wieder nach unten scrollen, haben Sie einige neu generierte Schlüssel. Sie müssen die vier zuvor beschrifteten Schlüssel von dieser Seite für Ihre API-Aufrufe abrufen, notieren Sie sie sich also irgendwo.
4. Ändern Sie die Zugriffsebene : Sie möchten nicht schreibgeschützt, oder?
Wenn Sie diese API angemessen nutzen möchten, müssen Sie Ihre Einstellungen in Lesen und Schreiben ändern, wenn Sie etwas anderes als das Standard-Datenabrufen mit GET- Anforderungen durchführen.
Wählen Sie die Registerkarte "Einstellungen" oben auf der Seite.
Geben Sie Ihrer Anwendung Lese- / Schreibzugriff und klicken Sie unten auf "Aktualisieren".
Sie können mehr über die Anwendungen Berechtigungsmodell lesen , dass Twitter hier verwendet.
5. Schreiben Sie Code, um auf die API zuzugreifen : Ich habe das meiste für Sie erledigt
Ich habe den obigen Code mit einigen Modifikationen und Änderungen zu einer PHP-Klasse kombiniert, damit es wirklich einfach ist, die gewünschten Anforderungen zu stellen.
Dies verwendet OAuth und die Twitter v1.1-API sowie die von mir erstellte Klasse, die Sie unten finden.
require_once('TwitterAPIExchange.php');
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN",
'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
'consumer_key' => "YOUR_CONSUMER_KEY",
'consumer_secret' => "YOUR_CONSUMER_SECRET"
);
Stellen Sie sicher, dass Sie die Schlüssel, die Sie von Ihrer Anwendung oben erhalten haben, in die entsprechenden Felder einfügen.
Als nächstes müssen Sie eine URL auswählen, an die Sie eine Anfrage stellen möchten. Die API-Dokumentation von Twitter hilft Ihnen bei der Auswahl der URL und des Anforderungstyps (POST oder GET).
/** URL for REST request, see: https://dev.twitter.com/docs/api/1.1/ **/
$url = 'https://api.twitter.com/1.1/blocks/create.json';
$requestMethod = 'POST';
In der Dokumentation gibt jede URL an, was Sie an sie übergeben können. Wenn wir die URL "Blöcke" wie oben verwenden, kann ich die folgenden POST-Parameter übergeben:
/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
'screen_name' => 'usernameToBlock',
'skip_status' => '1'
);
Nachdem Sie festgelegt haben, was Sie mit der API tun möchten, ist es Zeit, die eigentliche Anfrage zu stellen.
/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
Und für eine POST- Anfrage ist es das!
Bei einer GET- Anfrage ist das etwas anders. Hier ist ein Beispiel:
/** Note: Set the GET field BEFORE calling buildOauth(); **/
$url = 'https://api.twitter.com/1.1/followers/ids.json';
$getfield = '?username=J7mbo';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
Letztes Codebeispiel : Für eine einfache GET-Anfrage nach einer Liste meiner Follower.
$url = 'https://api.twitter.com/1.1/followers/list.json';
$getfield = '?username=J7mbo&skip_status=1';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
Ich habe diese Dateien auf GitHub mit Kredit an @ lackovic10 und @rivers gestellt! Ich hoffe, jemand findet es nützlich; Ich weiß, dass ich es getan habe (ich habe es zum Blockieren von Massen in einer Schleife verwendet).
Für diejenigen unter Windows, die Probleme mit SSL-Zertifikaten haben, lesen Sie diesen Beitrag . Diese Bibliothek verwendet cURL unter der Haube, daher müssen Sie sicherstellen, dass Ihre cURL-Zertifikate wahrscheinlich eingerichtet sind. Google ist auch dein Freund.