Zum Hauptinhalt springen
Die X API v2 endpoints sind mit einer Reihe von Parametern namens fields ausgestattet, mit denen Sie genau die data auswählen können, die Sie aus jedem der Objekte in Ihrer endpoint-Antwort benötigen. Standardmäßig gibt das Post-Objekt nur die Felder id und text zurück und für Posts, die seit dem 29. September 2022 erstellt wurden, das Feld edit_history_tweet_ids. Wenn Sie das Erstellungsdatum des Posts oder öffentliche metrics benötigen, müssen Sie die Parameter tweet.fields verwenden, um sie anzufordern. Dies ermöglicht einen höheren Grad an Anpassung, da Sie nur die Felder anfordern, die Sie je nach Anwendungsfall benötigen. Zum Beispiel würden Sie diese Abfragezeichenfolge in Ihre Anfrage aufnehmen: ?tweet.fields=created_at,public_metrics Jedes Objekt hat seinen eigenen Parameter, mit dem gezielt die Felder angefordert werden, die diesem Objekt zugeordnet sind. Hier sind die verschiedenen fields-Parameter, die derzeit verfügbar sind:
  • Posttweet.fields
  • Useruser.fields
  • Mediamedia.fields
  • Pollpoll.fields
  • Placeplace.fields
Wenn Sie ein endpoint verwenden, das hauptsächlich ein bestimmtes Objekt zurückgibt, verwenden Sie einfach den passenden fields-Parameter und geben Sie die gewünschten Felder in einer durch Kommas getrennten Liste als Wert für diesen Parameter an, um diese Felder in der Antwort zu erhalten.

Beispiel

Wenn Sie den endpoint GET /tweets/search/recent verwenden, erhalten Sie in der Antwort hauptsächlich Tweet-Objekte. Ohne Angabe von fields-Parametern erhalten Sie nur die Standardwerte id und text. Wenn Sie die öffentlichen metrics der in der Antwort zurückgegebenen Posts erhalten möchten, fügen Sie Ihrer Anfrage den Parameter tweet.fields hinzu und setzen Sie public_metrics als Wert. Diese Anfrage würde wie folgt aussehen. Wenn Sie diese Anfrage verwenden möchten, ersetzen Sie $BEARER_TOKEN durch Ihren Bearer Token und senden Sie die Anfrage mit Ihrem Kommandozeilen-Tool.
curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Wenn Sie diese Anfrage in Ihrem Terminal senden, enthält jeder der zurückgegebenen Posts die folgenden fields:
{
   "data": {
       "id": "1263150595717730305",
       "public_metrics": {
           "retweet_count": 12,
           "reply_count": 14,
           "like_count": 49,
           "quote_count": 7
       },
       "text": "Siehst du 👀 unsere neuen Tweet-Einstellungen?\n\nWir möchten wissen, wie und warum du eine solche Funktion in der API nutzen würdest. Hol dir die Details und teile uns deine Meinung mit👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER"
   }
}
Wenn Sie eine Reihe von fields aus einem sekundären Objekt abrufen möchten, das mit dem vom endpoint zurückgegebenen primären Objekt verknüpft ist, müssen Sie einen zusätzlichen expansions-Parameter angeben. Wenn Sie zum Beispiel dasselbe GET search/tweets/recent endpoint wie zuvor verwenden und die Profilbeschreibung des Autors abrufen möchten, müssen Sie expansions=author_id und user.fields=description in Ihrer Anfrage übergeben. Hier ist ein Beispiel, wie das aussehen könnte. Wenn Sie diese Anfrage ausprobieren möchten, stellen Sie sicher, dass Sie $BEARER_TOKEN durch Ihr Bearer Token ersetzen, bevor Sie es in Ihr Befehlszeilentool einfügen.
  curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics&expansions=author_id&user.fields=description' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Wenn Sie dies in der Anfrage angeben, enthält jeder der ausgelieferten Posts die folgenden fields, und die Standard- sowie angegebenen fields des zugehörigen User-Objekts werden innerhalb von includes zurückgegeben. Das User-Objekt kann den entsprechenden Post(s) zugeordnet werden, indem tweet.author_id und users.id abgeglichen werden.
{
  "data": [
    {
      "id": "1263150595717730305",
      "author_id": "2244994945",
      "text": "Siehst du 👀 unsere neuen Tweet-Einstellungen?\n\nWir möchten wissen, wie und warum Sie eine solche Funktion in der API verwenden würden. Holen Sie sich die Details und lassen Sie uns wissen, was Sie denken👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER",
      "public_metrics": {
        "retweet_count": 12,
        "reply_count": 13,
        "like_count": 51,
        "quote_count": 7
      }
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "username": "TwitterDev",
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen im Zusammenhang mit der #TwitterAPI.",
        "name": "Twitter Dev"
      }
    ]
  }
}
Beachten Sie, dass Sie keine bestimmten Unterfelder anfordern können (zum Beispiel public_metrics.retweet_count). Alle Unterfelder werden zurückgegeben, wenn das oberste Feld (public_metrics) angegeben ist. Wir haben alle möglichen fields aufgelistet, die Sie in der Parametertabelle auf den jeweiligen endpoint-API-Referenzseiten anfordern können. Eine vollständige Liste der fields ist im Objektmodell aufgeführt. Um für ein Objekt fields anzufordern, das nicht die primäre Ressource dieses endpoint ist, verwenden Sie den Parameter expansions zusammen mit fields.
I