Skip to main content

はじめに

recent search エンドポイントでは過去 7 日以内の投稿しか取得できませんが、user Post timeline および user mention timeline エンドポイントを使えば、認可されたユーザー(ユーザー ID を使用)について、過去 7 日より古い投稿やメンションを取得できます。デベロッパーはこれらのエンドポイントを利用して、ユーザーのタイムラインやメンションからトピック、エンティティ、投稿のセンチメントを研究できます。このチュートリアルでは、user Tweet timeline および user mention timeline エンドポイントを使ってユーザーの投稿とメンションを探索する方法を紹介します。

前提条件

  • user Tweet timeline および user mention timeline エンドポイントを利用するには、有効なデベロッパーアカウントが必要です。
  • Project を作成しておく必要があります。
  • デベロッパーアカウントにサインアップし、新しい Developer Console 体験を有効化している必要があります。
  • アクセスには、Developer Console で作成した Project に紐づいたデベロッパーアプリの有効なキーおよびトークンが必要です。
  • X Developer Console のアプリから取得した Bearer Token。
  • 承認済みのデベロッパーアカウントをお持ちでない場合は、こちらから申請できます。

承認済みデベロッパーアカウント

まだお持ちでない場合は、こちらから申請できます。

Project を作成しアプリを接続する

Developer Console で「create a new App」をクリックします。
名前を付け、適切なユースケースを選択し、Project の説明を入力します。次に、新しいアプリを作成するか、既存のアプリを接続できます(アプリは、X API へ HTTP リクエストを送るために必要な API キーを格納するコンテナです)。
「create a new App instead」をクリックし、アプリ名を付けて新しいアプリを作成します。
「complete」をクリックすると、API キーと Bearer Token が発行され、X API v2 の新しいエンドポイントへ接続する際に使用できます。
API key、API secret key、Bearer Token の横にある (+) をクリックし、これらの値をローカルマシンの安全な場所にコピーします。次のステップで API 呼び出しを行うために必要です。 注意: 上記スクリーンショットのキーは非表示になっていますが、ご自身の Developer Console では API key、API secret key、Bearer Token の実際の値を確認できます。

user Tweet timeline / user mention timeline エンドポイントで使用するユーザーのユーザー ID を取得する方法

user Tweet timeline および user mention timeline エンドポイントは、ユーザー ID を用いて投稿を取得します。ユーザー名からユーザー ID を取得するには、新しい user lookup エンドポイント v2 を使用できます。USER_NAME を任意のユーザー名に、XXXX を上で取得した自分の Bearer Token に置き換えてください。
以下のようにレスポンスにユーザー ID が表示されます。

user Tweet timeline および user mention timeline エンドポイントへの接続

ユーザーの Tweet timeline を取得するには、次の curl コマンドをターミナルで実行します(USER_ID を任意のユーザー ID に、XXXX を上で取得した自分の Bearer Token に置き換えてください)。
これらのリクエストの JSON レスポンスには、デフォルトで投稿の ID と本文が含まれることが確認できます(以下は例です)。
レスポンスに追加のフィールド(ユーザー情報や context annotations などの追加の Tweet フィールドなど)を含めたい場合は、レスポンスでそれらのフィールドを明示的に指定する必要があります。方法についてはfields および expansions の使い方に関するガイドを参照してください。 これらの投稿は、任意のプログラミング言語でも取得できます。user Tweet timeline および user mention timeline エンドポイントに対する Python、Node (JavaScript)、Java、Ruby のサンプルコードは、GitHub リポジトリをご確認ください。

ユーザーの投稿を探索する

user Tweet timeline および user mention timeline エンドポイントで投稿を取得する方法が分かったら、投稿を探索していきましょう。たとえば、ユーザーのメンションに含まれる一般的な名前付きエンティティを特定したい場合は、次のようにできます。 API リクエストで、Tweet レスポンスに context_annotations オブジェクトを含めるように指定します。
レスポンスでは、メンションに名前付きエンティティが含まれているかを確認できます。以下は例です。
メンションに登場する人気のエンティティを確認したい場合は、メンションの各 Tweet を解析することで、人気エンティティのカウントを保持できます。 タイムライン内のメディアを含むすべての投稿のプレビュー画像 URL を探索したい場合は、次のようにできます。 API リクエストで、tweet.media フィールドの preview_image_url と、attachments.media_keys の expansions を指定します。
レスポンスの includes オブジェクトに、以下のように preview_image_url が含まれます。
ユーザーの投稿の扱い方が分かれば、他の API やサービスと組み合わせて、投稿でさらに多くのことができるようになります。user Tweet timeline および user mention timeline エンドポイントを使う際に役立つリソースを以下に紹介します。

リソース