メインコンテンツへスキップ

recent search エンドポイントの開始方法

このクイックスタートガイドでは、Postman を使用し、指定した fields のセットを含めて recent search エンドポイントへ初めてリクエストを送信する手順を説明します。 複数言語のサンプルコードをご覧になりたい場合は、GitHub のX API v2 sample codeリポジトリをご確認ください。

前提条件

このガイドを完了するには、リクエストの認証に使用するキーとトークンが必要です。以下の手順に従ってキーとトークンを生成できます。
  • 開発者アカウントにサインアップし、承認を受けてください。
  • 開発者ポータルでプロジェクトと関連付けられた開発者アプリ(アプリ)を作成します。
  • アプリの「Keys and tokens」ページに移動し、必要な認証情報を生成します。すべての認証情報は安全な場所に保存してください。

最近検索リクエストを作成する手順

ステップ1:ツールまたはライブラリから始める このエンドポイントにリクエストを送るために使用できるツール、コード例、ライブラリはいくつかありますが、ここでは手順を簡素化するために Postman を使用します。 X API v2 の Postman コレクションを環境に読み込むには、次のボタンをクリックしてください: Postman に X API v2 コレクションを読み込んだら、Search Posts > Recent search request に移動します。 ステップ2:リクエストを認証する X API に正しくリクエストするには、権限があることを確認する必要があります。このエンドポイントで行うには、OAuth 2.0 App-OnlyOAuth 2.0 Authorization Code with PKCE、または OAuth 1.0a User Context のいずれかでリクエストを認証します。 簡単のため、このリクエストでは OAuth 2.0 App-Only を使用しますが、非公開のmetrics や Post を取得したい場合は、他の認証方式のいずれかを使用する必要があります。 OAuth 2.0 App-Only を利用するには、キーとトークン、特に App Access Token(App-only Bearer Token とも呼ばれます)を Postman に追加します。Postman 右上の環境「X API v2」を選択し、“initial value” と “current value” の各フィールドにキーとトークンを入力します(環境ドロップダウン横の目のアイコンをクリック)。 これらの変数は、正しく設定されていればリクエストの Authorization タブに自動的に反映されます。   ステップ3:検索クエリを作成する 最近検索は、それぞれ 1 つの検索クエリが必要です。この例では、@XDevelopers アカウントが投稿した Post に一致するクエリを使用します。このクエリでは from 演算子を使用し、XDevelopers(大文字小文字は不問)に設定します: from:XDevelopers Postman で “Params” タブに移動し、この ID またはカンマ区切りの Post ID の文字列を、ids パラメータの “Value” 列に入力します。
KeyValueDescription
queryfrom:XDevelopers最近検索エンドポイントに送信する検索クエリ
ステップ4:取得したい fields を特定して指定する ステップ3の後に “Send” ボタンをクリックすると、レスポンスには既定の Post オブジェクト fields(id、text、edit_history_tweet_ids)が返されます。id、text、edit_history_tweet_ids 以外の追加の fields を受け取りたい場合は、fields および/または expansions パラメータで、それらの fields をリクエスト内で指定する必要があります。 この演習では、異なるオブジェクトから 4 つの異なる fields セットをリクエストします:
  1. 既定の Post オブジェクトの fields
  2. 追加の tweet.created_at field(Post オブジェクト)
  3. 返された Post に紐づく投稿者ユーザーオブジェクトの既定の fields
  4. 関連するユーザーオブジェクトの追加の user.description field
Postman で “Params” タブに移動し、“Query Params” テーブルに以下の key:value の組を追加します:
KeyValueReturned fields
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldsdescriptionincludes.users.description
“Send” ボタンの横に次の URL が表示されるはずです: https://api.x.com/2/tweets/search/recent?query=from:XDevelopers&tweet.fields=created_at&expansions=author_id&user.fields=created_at ステップ5:リクエストを送信し、レスポンスを確認する 準備が整ったら「Send」ボタンを押して、次のレスポンスを受け取ります。
{
   "data": [
       {
           "author_id": "2244994945",
           "created_at": "2020-06-11T16:05:06.000Z",
           "id": "1271111223220809728",
           "text": "今夜は@jessicagarsonがお気に入りのPythonパッケージをRで実行する方法をご紹介します。🍿\n\nデータサイエンスのための2つの強力なプログラミング言語を組み合わせて使う方法を学び、TwitterのDeveloper Labsの最近の検索エンドポイントを使用したライブデモをご覧ください。https://t.co/v178oUZNuj"
       },
       {
           "author_id": "2244994945",
           "created_at": "2020-06-10T19:25:24.000Z",
           "id": "1270799243071062016",
           "text": "新しいTwitter APIの構築に向けて取り組む中で、いくつかのLabs v1エンドポイントの廃止予定期限を延長しました。詳細はこちら 📖 https://t.co/rRWaJYJgKk"
       },
       {
           "author_id": "2244994945",
           "created_at": "2020-06-09T18:08:47.000Z",
           "id": "1270417572001976322",
           "text": "アノテーションはTweetについてより詳しく知るのに役立ちます。興味のあるトピックを見つけるのにも活用できます。🔬\n\nこのチュートリアルでは、@suhemparackがアノテーションとフィルタリングされたストリームエンドポイントを使用してCOVID-19に関連するTweetを見つける方法を紹介します。\n\nあなたもぜひ学んでみてください。⤵️\nhttps://t.co/qwVOgw0zSV"
       }
   ],
   "includes": {
       "users": [
           {
               "description": "TwitterのDevRelチームの公式アカウントです。Twitter APIに関する最新情報、ニュース、イベント情報をお届けします。\n\n#BlackLivesMatter",
               "id": "2244994945",
               "name": "X Developers",
               "username": "XDevelopers"
           }
       ]
   },
   "meta": {
       "newest_id": "1271111223220809728",
       "oldest_id": "1270417572001976322",
       "result_count": 3
   }
}
次のステップ API Reference でリクエストをカスタマイズ クエリ演算子の全一覧を確認 これらのエンドポイントのサンプルコードを利用