Twitter-API für Laravel 10.x, 11.x (und neue Versionen, sobald sie veröffentlicht werden). Unterstützt auch andere Frameworks über PHP-DI (oder fügen Sie gerne Unterstützung für Ihr Framework über PR hinzu)
Sie müssen eine Anwendung erstellen und Ihr Zugriffstoken in der Anwendungsverwaltung erstellen.
composer require atymic/twitter:^3.0 -W
Legen Sie einfach die folgenden Umgebungsvariablen in Ihrer .env
fest.
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_API_VERSION=
Führen Sie php artisan vendor:publish --provider="AtymicTwitterServiceProviderLaravelServiceProvider"
/config/twitter.php
3.x ist die aktuelle Hauptversion und nicht abwärtskompatibel mit 2.x.
Weitere Informationen finden Sie im Migrationsleitfaden in UPGRADE.md.
2.x wird nicht mehr gepflegt. Wir akzeptieren keine Fehlerbehebungen, bitte aktualisieren Sie auf 3.x
Sie können zwischen drei verschiedenen Ausgabeformaten wählen. Standardmäßig werden API-v1-Antworten als Objekte zurückgegeben, während API-v2-Antworten als JSON zurückgegeben werden. Um dies zu ändern, verwenden Sie die Option response_format
in den Parametern, die Sie an eine beliebige Methode übergeben.
response_format : object|json|array (v1 default:object) (v2 default:json)
Um die Standard-Twitter-API-Version auf v2 anstelle der Standardversion v1.1
festzulegen, setzen Sie TWITTER_API_VERSION
in Ihrer .env
auf 2
.
Wenn Sie die v1.1
API als Standard festgelegt haben, können Sie Twitter::forApiV2()
verwenden, um eine Instanz des v2-Clients abzurufen. Das Gleiche gilt für das Abrufen einer v1
Instanz von einem v2
-Client mithilfe von Twitter::forApiV1()
.
Es ist sicher Twitter::forApiV1()
entweder auf einer v1
oder v2
-Clientinstanz aufzurufen.
getSettings()
– Gibt Einstellungen (einschließlich aktueller Trend-, Geo- und Ruhezeitinformationen) für den authentifizierenden Benutzer zurück.getCredentials()
postSettings()
– Aktualisiert die Einstellungen des authentifizierenden Benutzers.postSettingsDevice()
– Legt fest, an welches Gerät Twitter Updates für den authentifizierenden Benutzer liefert. Durch das Senden von „Keine“ als Geräteparameter werden SMS-Updates deaktiviert.postProfile()
– Legt einige Werte fest, die Benutzer auf der Registerkarte „Konto“ ihrer Einstellungsseite festlegen können. Es werden nur die angegebenen Parameter aktualisiert.postBackground()
– Aktualisiert das Hintergrundbild des Profils des authentifizierenden Benutzers. Mit dieser Methode kann auch das Profilhintergrundbild aktiviert oder deaktiviert werden.postProfileImage()
– Aktualisiert das Profilbild des authentifizierenden Benutzers. Beachten Sie, dass diese Methode mehrteilige Rohdaten und keine URL zu einem Bild erwartet.destroyUserBanner()
– Entfernt das hochgeladene Profilbanner für den authentifizierenden Benutzer. Gibt bei Erfolg HTTP 200 zurück.postUserBanner()
– Lädt ein Profilbanner im Namen des authentifizierenden Benutzers hoch. Um optimale Ergebnisse zu erzielen, laden Sie einen Profile_banner_url-Knoten in ihre Benutzerobjekte hoch. setWebhook($env, $url)
– Registriert eine Webhook-URL für alle Ereignistypen in der angegebenen Umgebung.crcHash($crcToken)
– Gibt den HMAC SHA-256-Hash aus dem angegebenen CRC-Token und Verbrauchergeheimnis zurück. Sie müssen dies auf Ihrem Webhook zurückgeben (weitere Informationen).getWebhooks($env)
– Gibt Webhook-URLs für die angegebene Umgebung (oder alle Umgebungen, falls keine angegeben sind) und deren Status für die authentifizierende App zurück.updateWebhooks($env, $webhookId)
– Löst die Challenge-Response-Prüfung (CRC) für den angegebenen Umgebungs-Webhook für alle Aktivitäten aus. Wenn die Prüfung erfolgreich ist, wird „true“ zurückgegeben und der Webhook erneut aktiviert, indem sein Status auf „gültig“ gesetzt wird.destroyWebhook($env, $webhookId)
– Entfernt den Webhook aus der Konfiguration aller Aktivitäten der bereitgestellten Anwendung. Gibt bei Erfolg „true“ zurück.setSubscriptions($env)
– Abonniert die bereitgestellte Anwendung für alle Ereignisse für die bereitgestellte Umgebung für alle Nachrichtentypen. Gibt bei Erfolg „true“ zurück.getSubscriptions($env)
– Gibt „true“ zurück, wenn der bereitgestellte Benutzerkontext ein aktives Abonnement mit der bereitgestellten Anwendung hat.getSubscriptionsCount()
– Gibt die Anzahl der Abonnements zurück, die derzeit in Ihrem Konto für alle Aktivitäten aktiv sind.getSubscriptionsList($env)
– Gibt eine Liste der aktuellen Abonnements vom Typ „Alle Aktivitäten“ zurück.destroyUserSubscriptions($env, $userId)
– Deaktiviert das Abonnement für die angegebene Benutzer-ID aus der Umgebung. Gibt bei Erfolg „true“ zurück. getBlocks()
– Gibt eine Sammlung von Benutzerobjekten zurück, die der authentifizierende Benutzer blockiert.getBlocksIds()
– Gibt ein Array numerischer Benutzer-IDs zurück, die der authentifizierende Benutzer blockiert.postBlock()
– Blockiert, dass der angegebene Benutzer dem authentifizierenden Benutzer folgt. Darüber hinaus wird der blockierte Benutzer nicht in den Erwähnungen oder in der Timeline des authentifizierenden Benutzers angezeigt (es sei denn, er wird von einem anderen Benutzer retweetet). Wenn eine Follow- oder Friend-Beziehung besteht, wird diese zerstört.destroyBlock()
– Entsperrt den im ID-Parameter angegebenen Benutzer für den authentifizierenden Benutzer. Gibt bei Erfolg den entsperrten Benutzer im angeforderten Format zurück. Wenn Beziehungen vor der Inkraftsetzung der Sperre bestanden haben, werden diese nicht wiederhergestellt. getDm()
– Gibt ein einzelnes Direktnachrichtenereignis zurück, das durch einen ID-Parameter angegeben wird.getDms()
– Gibt alle Direktnachrichtenereignisse (sowohl gesendete als auch empfangene) innerhalb der letzten 30 Tage zurück. Sortiert in umgekehrter chronologischer Reihenfolge.destroyDm()
– Zerstört die im erforderlichen ID-Parameter angegebene Direktnachricht. Der authentifizierende Benutzer muss der Empfänger der angegebenen Direktnachricht sein.postDm()
– Veröffentlicht ein neues message_create-Ereignis, das dazu führt, dass der authentifizierende Benutzer eine Direktnachricht an einen angegebenen Benutzer sendet. Gibt bei Erfolg ein Ereignis zurück. Unterstützt das Veröffentlichen von Direktnachrichten mit optionaler Schnellantwort und Medienanhang. getFavorites()
– Gibt die 20 aktuellsten Tweets zurück, die vom authentifizierenden oder angegebenen Benutzer favorisiert wurden.destroyFavorite()
– Hebt die Favoriten für den Status auf, der im ID-Parameter als authentifizierender Benutzer angegeben ist. Gibt bei Erfolg den Nicht-Favoriten-Status im angeforderten Format zurück.postFavorite()
– Favorit des Status, der im ID-Parameter als authentifizierender Benutzer angegeben ist. Gibt bei Erfolg den Favoritenstatus zurück. getNoRters()
– Gibt eine Sammlung von Benutzer-IDs zurück, von denen der aktuell authentifizierte Benutzer keine Retweets erhalten möchte.getFriendsIds()
– Gibt eine Cursor-Sammlung von Benutzer-IDs für jeden Benutzer zurück, der dem angegebenen Benutzer folgt.getFollowersIds()
– Gibt eine Cursor-Sammlung von Benutzer-IDs für jeden Benutzer zurück, der dem angegebenen Benutzer folgt.getFriendshipsIn()
– Gibt eine Sammlung numerischer IDs für jeden Benutzer zurück, der eine ausstehende Anfrage hat, dem authentifizierenden Benutzer zu folgen.getFriendshipsOut()
– Gibt eine Sammlung numerischer IDs für jeden geschützten Benutzer zurück, für den der authentifizierende Benutzer eine ausstehende Folgeanfrage hat.postFollow()
– Ermöglicht den authentifizierenden Benutzern, dem im ID-Parameter angegebenen Benutzer zu folgen.postUnfollow()
– Ermöglicht dem authentifizierenden Benutzer, dem im ID-Parameter angegebenen Benutzer nicht mehr zu folgen.postFollowUpdate()
– Ermöglicht das Aktivieren oder Deaktivieren von Retweets und Gerätebenachrichtigungen des angegebenen Benutzers.getFriendships()
– Gibt detaillierte Informationen über die Beziehung zwischen zwei beliebigen Benutzern zurück.getFriends()
– Gibt eine Cursor-Sammlung von Benutzerobjekten für jeden Benutzer zurück, dem der angegebene Benutzer folgt (auch bekannt als seine „Freunde“).getFollowers()
– Gibt eine Cursor-Sammlung von Benutzerobjekten für Benutzer zurück, die dem angegebenen Benutzer folgen.getFriendshipsLookup()
– Gibt die Beziehungen des authentifizierenden Benutzers zur durch Kommas getrennten Liste von bis zu 100 bereitgestellten Bildschirmnamen oder Benutzer-IDs zurück. Werte für Verbindungen können sein: Following, Following_requested, Following_by, None, Blocking, Muting. getGeo()
– Gibt alle Informationen über einen bekannten Ort zurück.getGeoReverse()
– Sucht bei gegebenem Breiten- und Längengrad nach bis zu 20 Orten, die beim Aktualisieren eines Status als place_id verwendet werden können.getGeoSearch()
– Suche nach Orten, die an einen Status/ein Update angehängt werden können. Bei einem Breiten- und Längengradpaar, einer IP-Adresse oder einem Namen gibt diese Anfrage eine Liste aller gültigen Orte zurück, die beim Aktualisieren eines Status als place_id verwendet werden können.getGeoSimilar()
– Findet Orte in der Nähe der angegebenen Koordinaten, die einen ähnlichen Namen haben. Konzeptionell würden Sie diese Methode verwenden, um zunächst eine Liste bekannter Orte zur Auswahl zu erhalten. Wenn der gewünschte Ort dann nicht existiert, stellen Sie eine Anfrage an POST geo/place, um einen neuen zu erstellen. Der in der Antwort enthaltene Token ist der Token, der benötigt wird, um einen neuen Ort erstellen zu können. postSpam()
– Melden Sie den angegebenen Benutzer als Spam-Konto an Twitter. Führt zusätzlich das Äquivalent von POST-Blöcken/-Erstellung im Namen des authentifizierten Benutzers durch.getHelpConfiguration()
– Gibt die aktuelle von Twitter verwendete Konfiguration zurück, einschließlich twitter.com-Slugs, die keine Benutzernamen sind, maximale Fotoauflösungen und t.co-URL-Längen.getHelpLanguages()
– Gibt die Liste der von Twitter unterstützten Sprachen zusammen mit dem von Twitter unterstützten Sprachcode zurück.getHelpPrivacy()
– Gibt die Datenschutzrichtlinie von Twitter zurück.getHelpTos()
– Gibt die Twitter-Nutzungsbedingungen zurück. Hinweis: Diese sind nicht mit der Entwicklerrichtlinie identisch.getAppRateLimit()
– Gibt die aktuellen Ratengrenzen für Methoden zurück, die zu den angegebenen Ressourcenfamilien gehören. getLists()
– Gibt alle Listen zurück, die der authentifizierende oder angegebene Benutzer abonniert hat, einschließlich seiner eigenen. Der Benutzer wird mit den Parametern user_id oder screen_name angegeben. Wenn kein Benutzer angegeben ist, wird der authentifizierende Benutzer verwendet.getListStatuses()
– Gibt eine Zeitleiste mit Tweets zurück, die von Mitgliedern der angegebenen Liste verfasst wurden. Retweets sind standardmäßig enthalten. Verwenden Sie den Parameter include_rts=false, um Retweets auszulassen.destroyListMember()
– Entfernt das angegebene Mitglied aus der Liste. Der authentifizierte Benutzer muss der Eigentümer der Liste sein, um Mitglieder aus der Liste entfernen zu können.getListsMemberships()
– Gibt die Listen zurück, zu denen der angegebene Benutzer hinzugefügt wurde. Wenn user_id oder screen_name nicht angegeben werden, werden die Mitgliedschaften für den authentifizierenden Benutzer zurückgegeben.getListsSubscribers()
– Gibt die Abonnenten der angegebenen Liste zurück. Abonnenten privater Listen werden nur angezeigt, wenn der authentifizierte Benutzer Eigentümer der angegebenen Liste ist.postListSubscriber()
– Abonniert den authentifizierten Benutzer für die angegebene Liste.getListSubscriber()
– Gibt die Abonnenten der angegebenen Liste zurück. Abonnenten privater Listen werden nur angezeigt, wenn der authentifizierte Benutzer Eigentümer der angegebenen Liste ist.destroyListSubscriber()
– Abmelden des authentifizierten Benutzers von der angegebenen Liste.postListCreateAll()
– Fügt mehrere Mitglieder zu einer Liste hinzu, indem eine durch Kommas getrennte Liste von Mitglieds-IDs oder Bildschirmnamen angegeben wird. Der authentifizierte Benutzer muss Eigentümer der Liste sein, um ihr Mitglieder hinzufügen zu können. Beachten Sie, dass Listen nicht mehr als 5.000 Mitglieder haben dürfen und Sie mit dieser Methode maximal 100 Mitglieder gleichzeitig zu einer Liste hinzufügen können.getListMember()
– Überprüfen Sie, ob der angegebene Benutzer Mitglied der angegebenen Liste ist.getListMembers()
– Gibt die Mitglieder der angegebenen Liste zurück. Mitglieder privater Listen werden nur angezeigt, wenn der authentifizierte Benutzer Eigentümer der angegebenen Liste ist.postListMember()
– Ein Mitglied zu einer Liste hinzufügen. Der authentifizierte Benutzer muss Eigentümer der Liste sein, um ihr Mitglieder hinzufügen zu können. Beachten Sie, dass Listen nicht mehr als 5.000 Mitglieder haben dürfen.destroyList()
– Löscht die angegebene Liste. Der authentifizierte Benutzer muss Eigentümer der Liste sein, um sie zerstören zu können.postListUpdate()
– Aktualisiert die angegebene Liste. Der authentifizierte Benutzer muss Eigentümer der Liste sein, um sie aktualisieren zu können.postList()
– Erstellt eine neue Liste für den authentifizierten Benutzer. Beachten Sie, dass Sie nicht mehr als 20 Listen pro Konto erstellen können.getList()
– Gibt die angegebene Liste zurück. Private Listen werden nur angezeigt, wenn der authentifizierte Benutzer Eigentümer der angegebenen Liste ist.getListSubscriptions()
– Erhalten Sie eine Sammlung der Listen, die der angegebene Benutzer abonniert hat, standardmäßig 20 Listen pro Seite. Beinhaltet nicht die eigenen Listen des Benutzers.destroyListMembers()
– Entfernt mehrere Mitglieder aus einer Liste, indem eine durch Kommas getrennte Liste von Mitglieds-IDs oder Bildschirmnamen angegeben wird. Der authentifizierte Benutzer muss Eigentümer der Liste sein, um Mitglieder daraus entfernen zu können. Beachten Sie, dass Listen nicht mehr als 500 Mitglieder haben dürfen und Sie mit dieser Methode nur bis zu 100 Mitglieder gleichzeitig aus einer Liste entfernen können.getListOwnerships()
– Gibt die Listen zurück, die dem angegebenen Twitter-Benutzer gehören. Private Listen werden nur angezeigt, wenn der authentifizierte Benutzer auch Eigentümer der Listen ist. uploadMedia()
– Medien (Bilder) auf Twitter hochladen, um sie in einem Tweet oder einer von Twitter gehosteten Karte zu verwenden. getSearch()
– Gibt eine Sammlung relevanter Tweets zurück, die einer angegebenen Abfrage entsprechen.getSavedSearches()
– Gibt die gespeicherten Suchanfragen des authentifizierten Benutzers zurück.getSavedSearch()
– Ruft die Informationen für die gespeicherte Suche ab, die durch die angegebene ID dargestellt wird. Der authentifizierende Benutzer muss der Eigentümer der angeforderten gespeicherten Such-ID sein.postSavedSearch()
– Erstellen Sie eine neue gespeicherte Suche für den authentifizierten Benutzer. Ein Benutzer darf nur 25 gespeicherte Suchanfragen haben.destroySavedSearch()
– Zerstört eine gespeicherte Suche für den authentifizierenden Benutzer. Der authentifizierende Benutzer muss der Eigentümer der gespeicherten Such-ID sein, die zerstört wird. getMentionsTimeline()
– Gibt die 20 letzten Erwähnungen (Tweets, die den @screen_name eines Benutzers enthalten) für den authentifizierenden Benutzer zurück.getUserTimeline()
– Gibt eine Sammlung der neuesten Tweets zurück, die von dem durch die Parameter screen_name oder user_id angegebenen Benutzer gepostet wurden.getHomeTimeline()
– Gibt eine Sammlung der neuesten Tweets und Retweets zurück, die vom authentifizierenden Benutzer und den Benutzern, denen er folgt, gepostet wurden. Die Home-Timeline ist für die Interaktion der meisten Benutzer mit dem Twitter-Dienst von zentraler Bedeutung. *getRtsTimeline()
– Gibt die neuesten Tweets zurück, die vom authentifizierenden Benutzer verfasst und von anderen retweetet wurden.getRts()
– Gibt eine Sammlung der 100 neuesten Retweets des durch den Parameter id angegebenen Tweets zurück.getTweet()
– Gibt einen einzelnen Tweet zurück, der durch den id-Parameter angegeben wird. Der Autor des Tweets wird ebenfalls in den Tweet eingebettet.destroyTweet()
– Zerstört den durch den erforderlichen ID-Parameter angegebenen Status. Der authentifizierende Benutzer muss der Autor des angegebenen Status sein. Gibt bei Erfolg den zerstörten Status zurück.postTweet()
– Aktualisiert den aktuellen Status des authentifizierenden Benutzers, auch bekannt als Tweeten.postRt()
– Retweetet einen Tweet. Gibt den ursprünglichen Tweet mit eingebetteten Retweet-Details zurück.getOembed()
– Gibt einen einzelnen Tweet zurück, der entweder durch eine Tweet-Web-URL oder die Tweet-ID angegeben wird, in einem oEmbed-kompatiblen Format. Das zurückgegebene HTML-Snippet wird automatisch als eingebetteter Tweet erkannt, wenn das Twitter-Widget-JavaScript auf der Seite eingebunden ist.getRters()
– Gibt eine Sammlung von bis zu 100 Benutzer-IDs zurück, die zu Benutzern gehören, die den durch den ID-Parameter angegebenen Tweet retweetet haben.getStatusesLookup()
– Gibt vollständig hydratisierte Tweet-Objekte für bis zu 100 Tweets pro Anfrage zurück, wie durch durch Kommas getrennte Werte angegeben, die an den Parameter id übergeben werden. getTrendsPlace()
– Gibt die Top-10-Trendthemen für eine bestimmte WOEID zurück, sofern Trendinformationen dafür verfügbar sind.getTrendsAvailable()
– Gibt die Standorte zurück, für die Twitter aktuelle Themeninformationen hat.getTrendsClosest()
– Gibt die Standorte zurück, für die Twitter aktuelle Themeninformationen hat und die einem bestimmten Standort am nächsten liegen. getUsersLookup()
– Gibt vollständig hydratisierte Benutzerobjekte für bis zu 100 Benutzer pro Anfrage zurück, wie durch durch Kommas getrennte Werte angegeben, die an die Parameter user_id und/oder screen_name übergeben werden.getUsers()
– Gibt verschiedene Informationen über den Benutzer zurück, der durch den erforderlichen Parameter user_id oder screen_name angegeben wird. Der neueste Tweet des Autors wird nach Möglichkeit inline zurückgegeben.getUsersSearch()
– Bietet eine einfache, relevante Suchoberfläche für öffentliche Benutzerkonten auf Twitter. Versuchen Sie, die Suchanfrage nach thematischem Interesse, vollständigem Namen, Firmenname, Standort oder anderen Kriterien durchzuführen. Genaue Übereinstimmungssuchen werden nicht unterstützt.getUserBanner()
– Gibt eine Karte der verfügbaren Größenvarianten des Profilbanners des angegebenen Benutzers zurück. Wenn der Benutzer kein Profilbanner hochgeladen hat, wird stattdessen ein HTTP 404 zugestellt. Diese Methode kann anstelle der Zeichenfolgenmanipulation für die in Benutzerobjekten zurückgegebene Profilbanner-URL verwendet werden, wie unter Profilbilder und Banner beschrieben.muteUser()
– Schaltet den im ID-Parameter angegebenen Benutzer für den authentifizierenden Benutzer stumm.unmuteUser()
– Hebt die Stummschaltung des im ID-Parameter angegebenen Benutzers für den authentifizierenden Benutzer auf.mutedUserIds()
– Gibt ein Array numerischer Benutzer-IDs zurück, die der authentifizierende Benutzer stummgeschaltet hat.mutedUsers()
– Gibt ein Array von Benutzerobjekten zurück, die der authentifizierende Benutzer stummgeschaltet hat.getSuggesteds()
– Greifen Sie auf die Benutzer in einer bestimmten Kategorie der von Twitter vorgeschlagenen Benutzerliste zu.getSuggestions()
– Zugriff auf die Liste der vorgeschlagenen Benutzer von Twitter. Dadurch wird die Liste der vorgeschlagenen Benutzerkategorien zurückgegeben. Die Kategorie kann in GETuser/vorschläge/:slug verwendet werden, um die Benutzer in dieser Kategorie abzurufen.getSuggestedsMembers()
– Greifen Sie auf die Benutzer in einer bestimmten Kategorie der von Twitter vorgeschlagenen Benutzerliste zu und geben Sie ihren neuesten Status zurück, wenn sie kein geschützter Benutzer sind.getTweet()
– Gibt verschiedene Informationen zu einem einzelnen Tweet zurück, der durch die angeforderte ID angegeben wird.getTweets()
– Gibt verschiedene Informationen über den Tweet zurück, der durch die angeforderte ID oder ID-Liste angegeben wird. searchRecent()
– Der letzte Suchendpunkt gibt Tweets der letzten sieben Tage zurück, die einer Suchanfrage entsprechen.
searchAll()
– Der Endpunkt für die vollständige Archivsuche gibt den vollständigen Verlauf öffentlicher Tweets zurück, die einer Suchabfrage entsprechen; seit der erste Tweet am 26. März 2006 erstellt wurde.
Hinweis: Dieser Endpunkt ist nur für diejenigen verfügbar, die für den Produktpfad „Akademische Forschung“ zugelassen sind.
userTweets()
– Gibt Tweets zurück, die von einem einzelnen Benutzer verfasst wurden, der durch die angeforderte Benutzer-ID angegeben wird. Standardmäßig werden pro Anfrage die letzten zehn Tweets zurückgegeben. Mithilfe der Paginierung können die aktuellsten 3.200 Tweets abgerufen werden.userMentions()
– Gibt Tweets zurück, in denen ein einzelner Benutzer erwähnt wird, der durch die angeforderte Benutzer-ID angegeben wird. Standardmäßig werden pro Anfrage die letzten zehn Tweets zurückgegeben. Mithilfe der Paginierung können bis zu 800 Tweets abgerufen werden. getStreamRules()
– Gibt eine Liste der derzeit auf dem Streaming-Endpunkt aktiven Regeln zurück, entweder als Liste oder einzeln.postStreamRules()
– Regeln zu Ihrem Stream hinzufügen oder löschen.getStream()
– Streamt Tweets in Echtzeit basierend auf einem bestimmten Satz von Filterregeln. getSampledStream()
– Streamt etwa 1 % aller Tweets in Echtzeit. hideTweet()
– Blendet eine Antwort auf einen Tweet ein oder aus. countRecent()
– Erhalten Sie die Anzahl der Tweets, die in den letzten 7 Tagen einer Suchanfrage entsprechen
countAll()
– Erhalten Sie eine Anzahl von Tweets, die einer Abfrage entsprechen
Hinweis: Nur über den Produkttrack „Academic Research“ verfügbar.
Linkify: Wandelt URLs, @Benutzernamen und Hashtags in Links um. Der Typ von $tweet kann Objekt, Array oder Text sein. Durch das Senden eines Objekts oder eines Arrays erweitert die Methode auch Links (t.co).
Twitter:: linkify ( $ tweet );
Vor: Wandelt Datum in Differenz um (vor 2 Stunden)
Twitter:: ago ( $ timestamp );
LinkUser: Erzeugt einen Link zu einem bestimmten Benutzer anhand seines Benutzerobjekts (z. B. $tweet->user) oder seiner ID/Zeichenfolge.
Twitter:: linkUser ( $ user );
LinkTweet: Erzeugt einen Link zu einem bestimmten Tweet.
Twitter:: linkTweet ( $ tweet );
Gibt eine Sammlung der neuesten Tweets zurück, die von dem durch die Parameter „screen_name“ oder „user_id“ angegebenen Benutzer gepostet wurden.
Route:: get ( ' /userTimeline ' , function ()
{
return Twitter:: getUserTimeline ([ ' screen_name ' => ' thujohn ' , ' count ' => 20 , ' response_format ' => ' json ' ]);
});
Gibt eine Sammlung der neuesten Tweets und Retweets zurück, die vom authentifizierenden Benutzer und den Benutzern, denen er folgt, gepostet wurden.
Route:: get ( ' /homeTimeline ' , function ()
{
return Twitter:: getHomeTimeline ([ ' count ' => 20 , ' response_format ' => ' json ' ]);
});
Gibt die X neuesten Erwähnungen (Tweets, die den @screen_name eines Benutzers enthalten) für den authentifizierenden Benutzer zurück.
Route:: get ( ' /mentionsTimeline ' , function ()
{
return Twitter:: getMentionsTimeline ([ ' count ' => 20 , ' response_format ' => ' json ' ]);
});
Aktualisiert den aktuellen Status des authentifizierenden Benutzers, auch bekannt als Tweeten.
Route:: get ( ' /tweet ' , function ()
{
return Twitter:: postTweet ([ ' status ' => ' Laravel is beautiful ' , ' response_format ' => ' json ' ]);
});
Aktualisiert den aktuellen Status des authentifizierenden Benutzers mit Medien.
Route:: get ( ' /tweetMedia ' , function ()
{
$ uploaded_media = Twitter:: uploadMedia ([ ' media ' => File:: get ( public_path ( ' filename.jpg ' ))]);
return Twitter:: postTweet ([ ' status ' => ' Laravel is beautiful ' , ' media_ids ' => $ uploaded_media -> media_id_string ]);
});
Erhalten Sie Benutzeranmeldeinformationen per E-Mail.
$credentials = Twitter::getCredentials([
'include_email' => 'true',
]);
Im obigen Beispiel müssen Sie „true“ als Zeichenfolge und nicht als booleschen Wert übergeben. Der Boolesche Wert wird in
1
konvertiert, was Twitter ignoriert.
Dies setzt außerdem voraus, dass Sie Ihre Berechtigungen bei Twitter korrekt eingerichtet haben. Sie müssen beim Einrichten Ihrer Twitter-App „Benutzer-E-Mail abrufen“ auswählen. Die Übergabe des Werts allein reicht nicht aus.
Melden Sie sich mit Twitter an
use Atymic Twitter Facade Twitter ;
Route:: get ( ' twitter/login ' , [ ' as ' => ' twitter.login ' , static function () {
$ token = Twitter:: getRequestToken ( route ( ' twitter.callback ' ));
if ( isset ( $ token [ ' oauth_token_secret ' ])) {
$ url = Twitter:: getAuthenticateUrl ( $ token [ ' oauth_token ' ]);
Session:: put ( ' oauth_state ' , ' start ' );
Session:: put ( ' oauth_request_token ' , $ token [ ' oauth_token ' ]);
Session:: put ( ' oauth_request_token_secret ' , $ token [ ' oauth_token_secret ' ]);
return Redirect:: to ( $ url );
}
return Redirect:: route ( ' twitter.error ' );
}]);
Route:: get ( ' twitter/callback ' , [ ' as ' => ' twitter.callback ' , static function () {
// You should set this route on your Twitter Application settings as the callback
// https://apps.twitter.com/app/YOUR-APP-ID/settings
if (Session:: has ( ' oauth_request_token ' )) {
$ twitter = Twitter:: usingCredentials ( session ( ' oauth_request_token ' ), session ( ' oauth_request_token_secret ' ));
$ token = $ twitter -> getAccessToken ( request ( ' oauth_verifier ' ));
if (! isset ( $ token [ ' oauth_token_secret ' ])) {
return Redirect:: route ( ' twitter.error ' )-> with ( ' flash_error ' , ' We could not log you in on Twitter. ' );
}
// use new tokens
$ twitter = Twitter:: usingCredentials ( $ token [ ' oauth_token ' ], $ token [ ' oauth_token_secret ' ]);
$ credentials = $ twitter -> getCredentials ();
if ( is_object ( $ credentials ) && ! isset ( $ credentials -> error )) {
// $credentials contains the Twitter user object with all the info about the user.
// Add here your own user logic, store profiles, create new users on your tables...you name it!
// Typically you'll want to store at least, user id, name and access tokens
// if you want to be able to call the API on behalf of your users.
// This is also the moment to log in your users if you're using Laravel's Auth class
// Auth::login($user) should do the trick.
Session:: put ( ' access_token ' , $ token );
return Redirect:: to ( ' / ' )-> with ( ' notice ' , ' Congrats! You ' ve successfully signed in! ' );
}
}
return Redirect:: route ( ' twitter.error ' )
-> with ( ' error ' , ' Crab! Something went wrong while signing you up! ' );
}]);
Route:: get ( ' twitter/error ' , [ ' as ' => ' twitter.error ' , function () {
// Something went wrong, add your own error handling here
}]);
Route:: get ( ' twitter/logout ' , [ ' as ' => ' twitter.logout ' , function () {
Session:: forget ( ' access_token ' );
return Redirect:: to ( ' / ' )-> with ( ' notice ' , ' You ' ve successfully logged out! ' );
}]);
Webhook
Um den Webhook erfolgreich einzurichten, müssen Sie als Antwort von Ihrer Webhook-URL einen Hash mit dem CRC-Token zurückgeben (weitere Informationen).
Route:: post ( ' twitter/webhook ' , [ ' as ' => ' twitter.webhook ' , function (){
if ( request ()-> has ( ' crc_token ' ))
return response ()-> json ([ ' response_token ' => Twitter:: crcHash ( request ()-> crc_token )], 200 );
// Your webhook logic goes here
}]);
Erhalten Sie Benutzer-Tweets:
// ...
use Atymic Twitter Twitter as TwitterContract ;
use Illuminate Http JsonResponse ;
use Twitter ;
// ...
public function userTweets ( int $ userId ): JsonResponse
{
$ params = [
' place.fields ' => ' country,name ' ,
' tweet.fields ' => ' author_id,geo ' ,
' expansions ' => ' author_id,in_reply_to_user_id ' ,
TwitterContract:: KEY_RESPONSE_FORMAT => TwitterContract:: RESPONSE_FORMAT_JSON ,
];
return JsonResponse:: fromJsonString (Twitter:: userTweets ( $ userId , $ params ));
}
Tweets durchsuchen:
// ...
public function searchRecent ( string $ query ): JsonResponse
{
$ params = [
' place.fields ' => ' country,name ' ,
' tweet.fields ' => ' author_id,geo ' ,
' expansions ' => ' author_id,in_reply_to_user_id ' ,
TwitterContract:: KEY_RESPONSE_FORMAT => TwitterContract:: RESPONSE_FORMAT_JSON ,
];
return JsonResponse:: fromJsonString (Twitter:: searchRecent ( $ query , $ params ));
}
// ...
Da sich Twitter API v2 in der aktiven Entwicklung befindet, müssen Sie möglicherweise einen Endpunkt aufrufen, den wir im Abschnitt „Funktionen“ oben nicht explizit dokumentiert haben. Hier ist ein Beispiel dafür, wie Sie dieses Paket verwenden können, um Anrufe an alle neu hinzugefügten Endpunkte zu tätigen. Hier verwenden wir den neu hinzugefügten Endpunkt „Letzte Zählung“.
// ...
$ querier = Atymic Twitter Facade Twitter:: forApiV2 ()
-> getQuerier ();
$ result = $ querier
-> withOAuth2Client ()
-> get ( ' tweets/counts/recent ' , [ ' query ' => ' foo ' ]);
// ...
Aktivieren Sie zunächst den Debug-Modus in der Konfigurationsdatei.
Dann können Sie auf die Methode logs() zugreifen.
try
{
$ response = Twitter:: getUserTimeline ([ ' count ' => 20 , ' response_format ' => ' array ' ]);
}
catch ( Exception $ e )
{
// dd(Twitter::error());
dd (Twitter:: logs ());
}
dd ( $ response );