Zum Hauptinhalt springen

Erste Schritte mit der Filtered stream Webhooks API

Die v2 Filtered stream Webhooks API ähnelt dem v2 filtered stream endpoint hinsichtlich der Einrichtung von Filterregeln. Der Unterschied liegt im Zustellmechanismus für die Posts, die Ihren Regeln entsprechen.
  • Beim v2 filtered stream endpoint müssen Sie eine dauerhafte Verbindung herstellen und auf Posts warten, die Ihren Regeln entsprechen.
  • Bei diesem filtered stream Webhook endpoint registrieren Sie Ihren Webhook, und X liefert Posts, die Ihren Regeln entsprechen, an Ihren Webhook.
Dieser Leitfaden erklärt, wie Sie nach Posts filtern und diese über die filtered stream Webhooks endpoints empfangen. Es sind 3 Schritte erforderlich
  1. Einrichten Ihrer Filtered stream-Regeln
  2. Erstellen Ihres Webhooks
  3. Verknüpfen Ihrer Filtered Stream-Instanz mit Ihrem Webhook
Sobald Sie Ihre Filtered Stream-Instanz mit Ihrem Webhook verknüpft haben, sendet X Posts, die Ihren Regeln entsprechen, an Ihren Webhook.

Einrichten Ihrer Filtered-stream-Regeln

Filtered-stream-Regeln bestehen aus einem oder mehreren Operatoren, die mithilfe boolescher Logik und Klammern kombiniert werden, um festzulegen, welche Posts an Ihre Webhooks zugestellt werden. Die Filtered-stream-Webhooks-API verwendet zum Erstellen und Verwalten von Regeln denselben Satz von endpoints wie das v2 Filtered-stream endpoint. Sehen Sie sich diese ausführliche Anleitung an, die zeigt, wie Sie Filter erstellen.

Erstellen Ihres Webhooks

Erstellen Sie einen Webhook, um Ereignisse zu empfangen, indem Sie eine öffentlich erreichbare HTTPS-URL bei der X API registrieren. Webhooks müssen GET-Anfragen zur CRC-Validierung und POST-Anfragen für Ereignisdaten verarbeiten. Folgen Sie der Einführung in Webhooks für detaillierte Schritte zum Erstellen und Verwalten von Webhooks. Hinweis: Wenn Sie bereits Webhooks für die Account Activity API (AAA) verwenden, sind die dafür eingerichteten Webhooks hier genau dieselben. Sie können sogar dasselbe Webhook-endpoint, das Sie für AAA nutzen, auch für diese API verwenden, sofern Sie die nötige Kapazität haben und die Ereignisse getrennt verarbeiten können.

Verknüpfen Ihrer Filtered Stream-Instanz mit Ihrem Webhook

Sobald Ihre Regeln festgelegt und der Webhook erstellt ist, verknüpfen Sie den Webhook mit Ihrer Filtered Stream-Instanz. Dadurch werden passende Post-Ereignisse an Ihre Webhook-URL weitergeleitet. Verwenden Sie das endpoint: POST /2/tweets/search/webhooks/:webhook_id Sie können Abfrageparameter verwenden, die mit denen im Streaming-endpoint /2/tweets/search/stream identisch sind, wie expansions, fields und Medienoptionen. Dadurch werden die data in Ereignis-Payloads angepasst. Beispiel:
curl --request POST \ 
  --url 
'https://api.x.com/2/tweets/search/webhooks/123456789012345678?ex
pansions=author_id&user.fields=username,name,id' \ 
  --header 'Authorization: Bearer $BEARER_TOKEN' 
Beispiel für eine erfolgreiche Antwort:
{ 
  "data": { 
    "provisioned": true
  } 
}
Tipp: Sie können mehrere Webhooks mit demselben Stream verknüpfen, um Redundanz zu schaffen oder unterschiedliche Feldsätze zu empfangen. Jede Verknüpfung kann eigene Parameter festlegen. Sobald Sie Ihre Filtered Stream-Instanz mit Ihrem Webhook verbunden haben, erhalten Sie Posts, die Ihren Regeln entsprechen, wie unten gezeigt:
{
    "data": {
        "id": "1346889436626259968",
        "text": "Erfahren Sie, wie Sie die Nutzer-Post-Timeline- und Nutzer-Erwähnungs-Timeline-Endpunkte in der X API v2 verwenden, um Posts zu erkunden… https://t.co/56a0vZUx7i",
        "created_at": "2021-01-06T18:40:40.000Z",
        "author_id": "2244994945"
    },
    "includes": {
        "users": [
            {
                "id": "2244994945",
                "name": "Entwickler",
                "username": "Xdevelopers",
                "created_at": "2013-12-14T04:35:55Z",
                "protected": false
            }
        ]
    },
    "matching_rules": [
        {
            "id": "120897978112909812",
            "tag": "api-posts"
        }
    ]
}

Abrufen von Webhooks, die mit dem Filtered stream verknüpft sind

Rufen Sie eine Liste aller Webhooks ab, die derzeit mit Ihrem Filtered stream verknüpft sind:
GET /2/tweets/search/stream/webhooks 
Beispielantwort:
{
    "data": {
        "links": [
            {
                "application_id": "29893711",
                "business_user_id": "1877374016438091776",
                "fields": [
                    "user.fields=username",
                    "name",
                    "id",
                    "expansions=author_id"
                ],
                "instance_id": "1877375130462289920",
                "webhook_id": "1952390923729424384"
            }
        ]
    }
}

Verknüpfung Ihres Webhooks mit dem Filtered stream aufheben

Um zu verhindern, dass ein bestimmter Webhook weiterhin Ereignisse empfängt, heben Sie die Verknüpfung auf mit:
DELETE /2/tweets/search/webhooks/:webhook_id
Die Antwort sieht wie folgt aus:
{
    "data": {
        "deleted": true
    }
}
I