Zum Hauptinhalt springen

Integration mit den Timelines-endpoints

Diese Seite enthält Informationen zu mehreren Tools und wichtigen Konzepten, die Sie kennen sollten, wenn Sie die Timelines-endpoints in Ihr System integrieren. Wir haben die Seite in die folgenden Abschnitte unterteilt:

Nützliche Tools

Bevor wir einige zentrale Konzepte beleuchten, empfehlen wir, eines der folgenden Tools oder Codebeispiele zu verwenden, um mit dem Testen der Funktionalität dieser endpoints zu beginnen. Codebeispiele Möchten Sie diese endpoints mit Code in Ihrer bevorzugten Programmiersprache einrichten? Wir haben mehrere Codebeispiele bereitgestellt, die Sie als Ausgangspunkt auf unserer GitHub-Seite verwenden können. Bibliotheken Nutzen Sie eine unserer vielen Community-Drittanbieterbibliotheken, um den Einstieg zu erleichtern. Sie können eine Bibliothek finden, die mit den v2 endpoints funktioniert, indem Sie nach dem passenden Versions-Tag suchen. Postman Postman ist ein hervorragendes Tool, mit dem Sie diese endpoints testen können. Jede Postman-Anfrage enthält sämtliche Pfad- und Body-Parameter, damit Sie schnell verstehen, was verfügbar ist. Um mehr über unsere Postman-Collections zu erfahren, besuchen Sie bitte unsere Seite Postman verwenden.

Zentrale Konzepte

Authentifizierung Alle X API v2 endpoint erfordern, dass Anfragen mit einem Satz von Anmeldedaten authentifiziert werden, auch bekannt als Keys und Tokens. Sie können entweder OAuth 1.0a User Context oder OAuth 2.0 Authorization Code mit PKCE verwenden, um Anfragen an diese endpoint zu authentifizieren. Sie können OAuth 2.0 App-Only für die Nutzer-Posts-Timeline und die Nutzer-Erwähnungen-Timeline verwenden. OAuth 1.0a User Context erfordert, dass Sie Ihre API Keys, Benutzer-Access Tokens und einige weitere Parameter verwenden, um einen Authorization-Header zu erstellen, den Sie dann mit Ihrer Anfrage übermitteln. Die Access Tokens müssen dem Nutzer zugeordnet sein, in dessen Auftrag Sie die Anfrage stellen. Wenn Sie ein Set von Access Tokens für einen anderen Nutzer generieren möchten, muss dieser Ihre App über den 3-legged OAuth-Flow autorisieren. Bitte beachten Sie, dass OAuth 1.0a schwierig zu verwenden sein kann. Wenn Sie mit dieser Authentifizierungsmethode nicht vertraut sind, empfehlen wir, eine Library zu verwenden, ein Tool wie Postman zu nutzen oder OAuth 2.0 zu verwenden, um Ihre Anfragen zu authentifizieren. Wenn Sie einen Post oder private metrics von diesen endpoint anfordern möchten, müssen Sie entweder OAuth 1.0a User Context oder OAuth 2.0 Authorization Code mit PKCE verwenden, was sicherstellt, dass Sie die entsprechenden Berechtigungen des Nutzers besitzen, dem dieser Inhalt gehört. OAuth 2.0 App-Only erfordert lediglich, dass Sie ein OAuth 2.0 App Access Token mit Ihrer Anfrage übermitteln. Sie können ein App Access Token entweder direkt innerhalb einer Developer-App generieren oder eines über den POST oauth2/token endpoint erzeugen. Sie können dies für die Nutzer-Posts-Timeline oder die Nutzer-Erwähnungen-Timeline verwenden. OAuth 2.0 Authorization Code mit PKCE ermöglicht eine feinere Kontrolle über den Umfang einer Anwendung und Autorisierungsabläufe über mehrere Geräte hinweg. OAuth 2.0 erlaubt es Ihnen, spezifische, fein granulare Scopes auszuwählen, die Ihnen bestimmte Berechtigungen im Namen eines Nutzers erteilen. Um OAuth 2.0 in Ihrer App zu aktivieren, müssen Sie es in den Authentifizierungseinstellungen Ihrer App aktivieren, die sich im Bereich App-Einstellungen des Entwicklerportals befinden.
Bitte beachtenWenn Sie die folgenden fields anfordern, ist OAuth 1.0a User Context oder OAuth 2.0 Authorization Code erforderlich:
  • tweet.fields.non_public_metrics
  • tweet.fields.promoted_metrics
  • tweet.fields.organic_metrics
  • media.fields.non_public_metrics
  • media.fields.promoted_metrics
  • media.fields.organic_metrics
Entwicklerportal, Projects und Developer-Apps Um mit beliebigen X API v2 endpoint zu arbeiten, müssen Sie sich für ein Developer-Konto registrieren, ein Project innerhalb dieses Kontos einrichten und eine Developer-App innerhalb dieses Projects erstellen. Ihre Keys und Tokens innerhalb dieser Developer-App funktionieren für diese Timelines-endpoint. Rate Limits Jeden Tag senden viele Tausend Entwickler Anfragen an die X API. Um das Volumen zu steuern, werden auf jeden endpoint Rate Limits angewendet, die die Anzahl der Anfragen begrenzen, die jeder Entwickler im Namen einer App oder eines authentifizierten Nutzers stellen kann. Für diese endpoint gelten unterschiedliche Rate Limits, abhängig davon, welche Authentifizierungsmethode verwendet wird. Die App-Level-Rate Limits gelten für eine App, die Anfragen mittels OAuth 2.0 App-Only stellt, während das User-Level-Rate Limit für Anfragen gilt, die im Namen des spezifischen autorisierenden Nutzers mittels OAuth 1.0a User Context gestellt werden. Diese beiden Rate Limits basieren auf der Häufigkeit von Anfragen innerhalb eines 15-Minuten-Fensters. Zum Beispiel kann eine App, die für beide dieser Timeline-endpoints die OAuth 2.0 App-Only-Authentifizierung verwendet, innerhalb eines 15‑Minuten‑Zeitfensters 1500 Anfragen (einschließlich Paginierungsanfragen) an die Nutzer-Post-Timeline und 450 Anfragen (einschließlich Paginierungsanfragen) an die Nutzer-Mention-Timeline stellen. Dieselbe App kann innerhalb desselben 15‑Minuten‑Zeitfensters mit zwei verschiedenen autorisierten Nutzern (unter Verwendung von OAuth 1.0a User Context) 900 Anfragen (einschließlich Paginierungsanfragen) an die Nutzer-Post-Timeline und 180 Anfragen (einschließlich Paginierungsanfragen) an die Nutzer-Mention-Timeline für jeden authentifizierten Nutzer stellen.  Die umgekehrt chronologische Home-Timeline hat ein pro-Nutzer-Rate Limit von 180 Anfragen pro 15‑Minuten‑Fenster. Mit diesem endpoint können Sie jeden Post abrufen, der in den letzten 7 Tagen auf einer Timeline erstellt wurde, sowie die jüngsten 800 unabhängig vom Erstellungsdatum. Fields und expansions Die X API v2 ermöglicht es Ihnen, genau auszuwählen, welche data Sie über die API zurückerhalten möchten, mithilfe von fields und expansions. Der expansions-Parameter ermöglicht es Ihnen, Objekte einzublenden, auf die in der Nutzlast verwiesen wird. Dieses endpoint erlaubt es Ihnen beispielsweise, Poll-, Place-, Media- und andere Objekte mithilfe des expansions-Parameters anzufordern. Der fields-Parameter ermöglicht es Ihnen, genau auszuwählen, welche fields innerhalb der verschiedenen data-Objekte Sie erhalten möchten. Standardmäßig enthält das primäre Post-Objekt, das von diesen endpoints zurückgegeben wird, die Felder id und text. Um zusätzliche Felder wie author_id oder public_metrics zu erhalten, müssen Sie diese ausdrücklich über die fields-Parameter anfordern. Einige wichtige fields, die Sie in Ihrer Integration in Betracht ziehen sollten, sind unsere Poll-data, metrics, Post-Annotations und Conversation-ID-Felder. Wir haben einen Leitfaden dazu hinzugefügt, wie man fields und expansions verwendet, gemeinsam mit unserem X API v2 Data Dictionary. Post-metrics Die X API v2 endpoints ermöglichen es Ihnen, Post-metrics direkt aus dem zurückgegebenen Post-Objekt anzufordern, vorausgesetzt, Sie übermitteln die passenden fields mit Ihrer Anfrage. Es gibt einige Einschränkungen bei Post-metrics, derer Sie sich bewusst sein sollten, insbesondere in Bezug auf den Schutz der Privatsphäre von Nutzern und die folgenden Response-Felder:
  • tweet.fields.non_public_metrics
  • tweet.fields.promoted_metrics
  • tweet.fields.organic_metrics
  • media.fields.non_public_metrics
  • media.fields.promoted_metrics
  • media.fields.organic_metrics
Die genannten Felder enthalten private metrics-data, was bedeutet, dass Sie vom Publisher des Posts autorisiert sein müssen, um diese data in ihrem Namen über das Nutzer-Post-Timeline-endpoint abzurufen. Das heißt, Sie müssen OAuth 1.0a User Context oder den OAuth 2.0 Authorization Code Flow with PKCE verwenden. Um beispielsweise non_public_metrics für die Nutzer-Post-Timeline der Nutzer-ID 1234 zu erhalten, müssen Sie access tokens einbeziehen, die diesem Nutzer zugeordnet sind. Sie können Nutzer Ihre App autorisieren lassen und mit dem 3-legged OAuth-Flow einen Satz von access tokens erhalten, die ihnen zugeordnet sind.  Wenn Sie die Nutzer-Mention-Timeline verwenden, sind die genannten Felder nur verfügbar, wenn der erwähnende Autor Ihrer App den Zugriff auf seine privaten metrics-data autorisiert hat und Sie beim Stellen der Anfrage mit OAuth 1.0a User Context die access tokens dieses Nutzers verwenden. Alle non_public_metrics, organic_metrics und promoted_metrics sind nur für Posts verfügbar, die in den letzten 30 Tagen erstellt wurden. Das bedeutet, dass sich die Ergebnisse beim Anfordern der genannten Felder automatisch so anpassen, dass nur Posts aus den letzten 30 Tagen enthalten sind. Wenn diese genannten Felder angefordert werden, werden nur Posts zurückgegeben, die vom authentifizierten Nutzer verfasst wurden; alle anderen Posts erhalten eine Fehlermeldung. Pagination Diese endpoints verwenden Pagination, damit Antworten schnell zurückgegeben werden. In Fällen, in denen es mehr Ergebnisse gibt, als in einer einzelnen Antwort gesendet werden können (bis zu 100 Posts für die Timeline-endpoints), müssen Sie paginieren. Verwenden Sie den Parameter max_results, um anzugeben, wie viele Ergebnisse pro Seite zurückgegeben werden, und den Parameter pagination_token, um die nächste Ergebnisseite zurückzugeben. Mehr dazu erfahren Sie in unserem Pagination-Leitfaden. Filtering results Diese endpoints enthalten mehrere Parameter, mit denen Sie Ergebnisse filtern können. Mit start_date und end_date können Sie Ergebnisse auf einen bestimmten Zeitraum eingrenzen. Wenn Sie lieber Post-IDs verwenden möchten, um eine bestimmte Menge von Posts auszuwählen, können Sie since_id und until_id verwenden. Die Benutzer-Posts-Timeline verfügt außerdem über einen exclude-Parameter, mit dem Retweets und Antworten aus Ihren Ergebnissen entfernt werden können.  Post caps und Anzahl der zurückgegebenen Posts Die endpoints der Benutzer-Post-Timeline und der Benutzer-Erwähnungs-Timeline sind in der Anzahl der Posts begrenzt, die sie in einem bestimmten Monat zurückgeben können. Das endpoint der umgekehrt chronologischen Home-Timeline unterliegt dieser Einschränkung nicht. Unabhängig davon, welches Timelines-endpoint Sie verwenden, werden die zurückgegebenen Posts auf die projektweite Post caps angerechnet. Die Nutzung wird im Entwicklerportal angezeigt, und der „Monat“ beginnt an Ihrem Verlängerungstag des Abonnements, der auf dem developer portal dashboard angezeigt wird.  Das endpoint der Benutzer-Post-Timeline gibt nur die neuesten 3200 Posts zurück, die in der Timeline eines Benutzers veröffentlicht wurden. Wenn Sie start_time und end_time auf einen Zeitraum setzen, der Posts außerhalb der 3200 neuesten umfasst, erhalten Sie zwar eine erfolgreiche Antwort, aber keine Posts. Es ist auch wichtig zu beachten, dass, wenn Sie excludes=replies bei Ihren Anfragen an die Benutzer-Post-Timeline übergeben, nur die neuesten 800 Posts zurückgegeben werden. Das endpoint der Benutzer-Erwähnungs-Timeline gibt nur die neuesten 800 Post-Erwähnungen zurück. Das endpoint der umgekehrt chronologischen Home-Timeline gibt die letzten 3200 Posts zurück. Post-Bearbeitungen Posts, die für Bearbeitungen berechtigt sind, können bis zu fünfmal innerhalb von 30 Minuten nach Veröffentlichung des ursprünglichen Posts bearbeitet werden. Die Such-endpoints liefern stets die neueste Version des Posts. Wenn Sie nur Posts anfordern, die vor 30 oder mehr Minuten veröffentlicht wurden, erhalten Sie immer die endgültige Version des Posts. Wenn Sie jedoch einen Near-Real-Time-Anwendungsfall haben und Posts abfragen, die in den letzten dreißig Minuten veröffentlicht wurden, könnten diese Posts nach dem Empfang bearbeitet worden sein. Diese Posts können mit der Suche oder dem Post Lookup-endpoint erneut hydriert werden, um ihren endgültigen Status zu bestätigen. Weitere Informationen darüber, wie Post-Bearbeitungen funktionieren, finden Sie auf der Seite Edit Posts fundamentals.   Randfälle
  • Wenn Sie nicht öffentliche metrics im endpoint der Benutzer-Post-Timeline für Posts anfordern, die älter als 30 Tage sind, kann es sein, dass Sie ein next_token in der Antwort mit einer Ergebnisanzahl von 0 sehen. Um dieses Problem zu vermeiden, stellen Sie sicher, dass der mit dem Parameter non_public_metrics angeforderte Zeitraum innerhalb der letzten 30 Tage liegt. Zusätzlich sollte der Mindestwert von max_results 10 sein. Diese Maßnahmen können helfen, dieses Szenario zu vermeiden, es kann jedoch trotzdem auftreten.
  • Das Anfordern von promoted metrics für Posts, die nicht beworben wurden, liefert eine leere Antwort, anstatt Post-data. Unser Team arbeitet derzeit an der Behebung dieses Problems.
  • Bei einem Retweet, der Post-Text mit mehr als 140 Zeichen enthält, wird das text-Feld abgeschnitten, anstatt den vollständigen Post-Text zurückzugeben. Der kurzfristige Workaround besteht darin, den referenzierten Post zu expandieren und den vollständigen Text aus der Expansion abzurufen. Dies ist ein Bug, den wir in Zukunft beheben werden.
Nächste Schritte [Make your first request to a Timelines endpoint]/x-api/posts/timelines#getting-started-with-reverse-chronological-home-timeline “Make your first request to a Timelines endpoint”) Eine vollständige Liste der Parameter, fields und mehr finden Sie in unseren API-Referenzseiten Support erhalten oder einen Fehler beheben
I