メインコンテンツへスキップ
このページでは、Retweet エンドポイントと連携するためのツールや主要な概念について説明します。

便利なツール

このエンドポイントを統合するうえで役立つ重要な概念を説明する前に、まずは次のツールに慣れておくことをおすすめします。

Postman

Postman は、エンドポイントをテストするために使用できる優れたツールです。各 Postman リクエストには、何が利用できるかをすばやく把握できるよう、すべてのパスパラメータとボディパラメータが含まれています。Postman コレクションの詳細については、「Using Postman」ページをご覧ください。

コードサンプル

お好みのプログラミング言語のコードでこのエンドポイントを使い始めたい場合は、GitHub ページで、出発点として利用できるさまざまなコードサンプルをご覧いただけます。

サードパーティライブラリ

X コミュニティの サードパーティライブラリ を活用して、開発のスタートダッシュに役立ててください。v2 エンドポイントに対応したライブラリは、対応するバージョンタグを目印に探すことができます。

主要な概念

認証

すべての X API v2 のエンドポイントでは、キーおよびトークンとも呼ばれる一連の認証情報を使ってリクエストの認証を行う必要があります。 Retweets lookup エンドポイントへのリクエストを認証するには、OAuth 1.0a User Context か OAuth 2.0 のベアラートークンのどちらかを使用できます。 Retweets を管理するエンドポイントでは OAuth 1.0a User Context の使用が必須です。つまり、API キーとユーザーアクセストークンの組み合わせを使って有効なリクエストを送信する必要があります。アクセストークンは、あなたが代理でリクエストを行うユーザーに紐づいていなければなりません。別のユーザー用のアクセストークンを生成したい場合、そのユーザーは 3-legged OAuth フローを通じてあなたの App を承認または認証する必要があります。 OAuth 1.0a の利用は難しい場合がある点に注意してください。この認証方式に慣れていない場合は、リクエストを適切に認証するために ライブラリ を使用することを推奨します。 注意 次のフィールドをリクエストする場合、OAuth 1.0a User Context が必須です:
  • 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

開発者コンソール、プロジェクト、および開発者 App

X API v2 エンドポイントで動作する認証情報一式を取得するには、まず開発者アカウントに登録し、そのアカウント内で Project を作成し、その Project 内に developer App を作成する必要があります。その後、developer App 内でキーとトークンを確認できます。

レート制限

毎日、何万もの開発者が X API にリクエストを送信しています。これらのリクエストの膨大な量を管理するために、各エンドポイントには レート制限 が設けられており、App または認証済みユーザーに代わって実行できるリクエスト数が制限されています。 Retweet を管理するエンドポイントは、15 分あたり 50 件のリクエスト (ユーザーごと) に制限されています。さらに、POST エンドポイントについては、3 時間ウィンドウあたり 300 件のリクエスト (ユーザーごと、App ごと) に制限されています。 Retweet ルックアップエンドポイントでは、15 分ウィンドウあたり 75 件のリクエストに制限されています。加えて、このエンドポイントから返されるのは、もっとも最近 Retweet したユーザーのうち 100 件分のみです。

フィールドとexpansions

X API v2 では、fields および expansions と呼ばれる一連のツールを使用して、API から返したいデータを正確に選択できます。expansions パラメータを使うと、ペイロード内で参照されているオブジェクトを展開できます。たとえば、このエンドポイントでは次のような expansions を取得できます。
  • attachments.poll_ids
  • attachments.media_keys
  • author_id, entities.mentions.username
  • geo.place_id
  • in_reply_to_user_id,
  • referenced_tweets.id,
  • referenced_tweets.id.author_id
fields パラメータを使うと、さまざまなデータオブジェクト内で受け取りたいフィールドを細かく指定できます。これらのエンドポイントは主にポスト (Post) オブジェクトを返します。デフォルトでは、ポストオブジェクトは idtext フィールドのみを返します。tweet.created_attweet.entities のような追加フィールドを受け取るには、それらを fields パラメータで明示的に指定する必要があります。統合での利用を検討するとよい重要なフィールドとしては、投票データ、メトリクス、ポストのアノテーション、および会話 ID のフィールドがあります。 X API v2 データディクショナリに、fields と expansions を組み合わせて使う方法に関するガイドを追加しました。

コード例

ポストをリポストしたユーザーを取得する

cURL
curl "https://api.x.com/2/tweets/1234567890/retweeted_by?user.fields=username,verified" \
  -H "Authorization: Bearer $BEARER_TOKEN"

ポストをリツイートする

cURL
curl -X POST "https://api.x.com/2/users/123/retweets" \
  -H "Authorization: OAuth ..." \
  -H "Content-Type: application/json" \
  -d '{"tweet_id": "1234567890"}'