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

フルアーカイブの Post 件数 endpoint を使い始める

このクイックスタート ガイドでは、HTTP リクエストを送信できるグラフィカルツールである Postman を使って、フルアーカイブの Post 件数 endpoint へ最初のリクエストを行う方法を説明します。 さまざまなプログラミング言語のサンプルコードをご覧になりたい場合は、X API v2 sample code の GitHub リポジトリをご参照ください。

事前準備

フルアーカイブの Post 件数 endpoint は現在、Pro または Enterprise アクセス権をお持ちの方のみご利用いただけます。この endpoint を使用するには、Pro またはEnterprise access を申請する必要があります。アクセス承認に加えて、リクエストを認証するためのキーおよびトークン が必要です。以下の手順に従ってキーおよびトークンを生成できます。
  • developer portal で Enterprise アクセス権のある Project に移動し、その Project 内に関連付けられた 開発者用 App があることを確認します。
  • App の「Keys and tokens」ページに移動し、必要なクレデンシャルを生成します。すべてのクレデンシャルは安全な場所に保存してください。

フルアーカイブのPost件数リクエストを作成する手順

ステップ1: ツールまたはライブラリから始める このendpointにリクエストを送信する方法として使用できるツール、コード例、ライブラリはいくつかありますが、ここでは手順を簡素化するためにPostmanを使用します。 X API v2 の Postman コレクションを環境に読み込むには、次のボタンをクリックしてください: Postman に X API v2 コレクションを読み込んだら、Post counts > Full-archive Post counts リクエストに移動します。 ステップ2: リクエストを認証する X API に正しくリクエストを行うには、権限があることを確認する必要があります。このendpointでは、OAuth 2.0 App-Only 認証方式でリクエストを認証する必要があります。 キーおよびトークン、特に App Access Token(App-only Bearer Token とも呼ばれます)を Postman に追加する必要があります。これは、Postman の右上にある環境ドロップダウンで“X API v2”という名前の環境を選択し、“initial value” および “current value” フィールドにキーおよびトークンを追加することで行えます(環境ドロップダウンの横にある目のアイコンをクリック)。 正しく設定されていれば、この変数は自動的にリクエストの authorization タブに反映されます。   ステップ3: query を作成する 各フルアーカイブのPost件数リクエストには、1つの query が必要です。この例では、@XDevelopers アカウントが投稿したPostsに一致するqueryを使用します。このqueryでは from 演算子を使用し、値を XDevelopers(大文字小文字は不問)に設定します: from:XDevelopers Postman で “Params” タブに移動し、このID、またはカンマ区切りのPost IDの文字列を、ids パラメータの “Value” 列に入力します。  
KeyValueDescription
queryfrom:XDevelopersフルアーカイブのPost件数endpointに送信するquery
Step four (optional): 粒度と期間を指定する ステップ3の後に “Send” ボタンをクリックすると、デフォルトのフルアーカイブのPost件数(直近30日間の1時間ごとの集計)が返されます。日単位のフルアーカイブのPost件数を取得したい場合は、granularity パラメータに day を指定します。30日より前のPost件数が必要な場合は、start_time と end_time パラメータに希望の値を指定してください。  Postman で “Params” タブに移動し、“Query Params” テーブルに次の key:value ペアを追加します:
KeyValueDescription
granularitydayPost件数結果の粒度。指定可能な値は day、hour、minute
start_time2021-05-01T00:00:00ZPosts が提供される最も古い UTC タイムスタンプ
end_time2021-06-01T00:00:00ZPosts が提供される最も古い UTC タイムスタンプ。
これで “Send” ボタンの横に次のURLが表示されるはずです: https://api.x.com/2/tweets/counts/all?query=from%3AXDevelopers&start_time=2021-05-01T00:00:00Z&end_time=2021-06-01T00:00:00Z&granularity=day ステップ5: リクエストを送信し、レスポンスを確認する すべての設定が完了したら、“Send” ボタンを押すと、次のようなレスポンスが返ってきます。
{
   "data": [
       {
           "end": "2021-05-02T00:00:00.000Z",
           "start": "2021-05-01T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-03T00:00:00.000Z",
           "start": "2021-05-02T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-04T00:00:00.000Z",
           "start": "2021-05-03T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-05T00:00:00.000Z",
           "start": "2021-05-04T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-06T00:00:00.000Z",
           "start": "2021-05-05T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-07T00:00:00.000Z",
           "start": "2021-05-06T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-08T00:00:00.000Z",
           "start": "2021-05-07T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-09T00:00:00.000Z",
           "start": "2021-05-08T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-10T00:00:00.000Z",
           "start": "2021-05-09T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-11T00:00:00.000Z",
           "start": "2021-05-10T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-12T00:00:00.000Z",
           "start": "2021-05-11T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-13T00:00:00.000Z",
           "start": "2021-05-12T00:00:00.000Z",
           "tweet_count": 6
       },
       {
           "end": "2021-05-14T00:00:00.000Z",
           "start": "2021-05-13T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-15T00:00:00.000Z",
           "start": "2021-05-14T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-16T00:00:00.000Z",
           "start": "2021-05-15T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-17T00:00:00.000Z",
           "start": "2021-05-16T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-18T00:00:00.000Z",
           "start": "2021-05-17T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-19T00:00:00.000Z",
           "start": "2021-05-18T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-20T00:00:00.000Z",
           "start": "2021-05-19T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-21T00:00:00.000Z",
           "start": "2021-05-20T00:00:00.000Z",
           "tweet_count": 8
       },
       {
           "end": "2021-05-22T00:00:00.000Z",
           "start": "2021-05-21T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-23T00:00:00.000Z",
           "start": "2021-05-22T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-24T00:00:00.000Z",
           "start": "2021-05-23T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-25T00:00:00.000Z",
           "start": "2021-05-24T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-26T00:00:00.000Z",
           "start": "2021-05-25T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-27T00:00:00.000Z",
           "start": "2021-05-26T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-28T00:00:00.000Z",
           "start": "2021-05-27T00:00:00.000Z",
           "tweet_count": 1
       },
       {
           "end": "2021-05-29T00:00:00.000Z",
           "start": "2021-05-28T00:00:00.000Z",
           "tweet_count": 2
       },
       {
           "end": "2021-05-30T00:00:00.000Z",
           "start": "2021-05-29T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-05-31T00:00:00.000Z",
           "start": "2021-05-30T00:00:00.000Z",
           "tweet_count": 0
       },
       {
           "end": "2021-06-01T00:00:00.000Z",
           "start": "2021-05-31T00:00:00.000Z",
           "tweet_count": 0
       }
   ],
   "meta": {
       "total_tweet_count": 22
   }
}
ステップ6: 結果をページネーションする レスポンスの meta オブジェクトに next_token が含まれている場合、その値を query パラメータの next_token に渡せます。
キー説明
next_token直前のリクエストの meta オブジェクトから取得した next_token をここに設定します。直近のリクエストで残りの結果が返ってこなかった場合、meta オブジェクトに next_token が含まれます。そのフィールドの値を取得し、次のリクエストで next_token パラメータの値として指定し、その他のリクエストパラメータはすべて同一に保ちます。
next_token に適切な値を設定したら、「Send」ボタンをクリックして次のページの結果を取得します。
I