Documentation Index
Fetch the complete documentation index at: https://generaltranslation.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
このガイドでは、フィルタリングされたストリームに接続し、フィルタルールに一致する投稿をリアルタイムで受信する方法を説明します。
前提条件作業を始める前に、次のものを用意してください。
- 開発者アカウント
- App のベアラートークン (開発者コンソールの「Keys and tokens」で確認できます)
フィルタールールを作成する
ルールは、どの投稿を受信するかを決めます。演算子を使用して、キーワード、ハッシュタグ、ユーザーなどにマッチさせます。ルールの例: 「cat」を含み、画像付きの投稿にマッチさせる: ストリームにルールを追加する
ルールエンドポイントを使用してルールを追加します。どのルールが各ポストに一致したかを特定できるように、tag を含めてください。curl -X POST "https://api.x.com/2/tweets/search/stream/rules" \
-H "Authorization: Bearer $BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"add": [
{"value": "cat has:images", "tag": "cats with images"}
]
}'
レスポンス:{
"data": [
{
"id": "1273026480692322304",
"value": "cat has:images",
"tag": "cats with images"
}
],
"meta": {
"sent": "2024-01-15T10:30:00.000Z",
"summary": {
"created": 1,
"not_created": 0,
"valid": 1,
"invalid": 0
}
}
}
ルールを検証する
追加したルールを確認するため、すべてのアクティブなルールを一覧表示します:curl "https://api.x.com/2/tweets/search/stream/rules" \
-H "Authorization: Bearer $BEARER_TOKEN"
ストリームに接続する
マッチする投稿を受信するための永続的な接続を確立します:curl "https://api.x.com/2/tweets/search/stream?\
tweet.fields=created_at,author_id&\
expansions=author_id&\
user.fields=username" \
-H "Authorization: Bearer $BEARER_TOKEN"
受信した投稿の処理
一致した投稿ストリーム (JSONオブジェクト) :{
"data": {
"id": "1234567890",
"text": "Look at this cute cat! 🐱",
"author_id": "9876543210",
"created_at": "2024-01-15T10:35:00.000Z",
"edit_history_tweet_ids": ["1234567890"]
},
"includes": {
"users": [
{
"id": "9876543210",
"username": "catperson"
}
]
},
"matching_rules": [
{
"id": "1273026480692322304",
"tag": "cats with images"
}
]
}
matching_rules 配列には、定義したタグに基づいて、どのルールがそのポストにマッチしたかが示されます。
ルールを削除(任意)
ID を指定してルールを削除します:curl -X POST "https://api.x.com/2/tweets/search/stream/rules" \
-H "Authorization: Bearer $BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"delete": {
"ids": ["1273026480692322304"]
}
}'
ストリームは 20 秒ごとに空行 (\r\n) を送信します。20 秒間、データまたはキープアライブ信号を受信しない場合は、再接続してください。
接続を閉じるには、Ctrl+C を押すか、ターミナル ウィンドウを閉じてください。
1 つの App につき接続は 1 つだけ許可されます。新しい接続を開くと、既存の接続は閉じられます。
オペレーターリファレンス
利用可能なすべてのオペレーター
APIリファレンス
エンドポイントの詳細なドキュメント