Twitter api v2でOAuth2.0認証で指定したユーザIDのツイートを取得する(App-only authentication and OAuth 2.0 Bearer Token)

Twitter api v2でOAuth2.0認証で指定したユーザIDのツイートを取得する(App-only authentication and OAuth 2.0 Bearer Token)

App-only認証をしてみます。OAuth 2.0 Authorization Code Flow with PKCEのように複雑なフローではないようで、Bearerトークンをヘッダに指定するだけです。

指定したユーザIDのtweetを取得します。使用するAPIは以下です。

GET /2/users/:id/tweets

ユーザIDは@から始まるusernameではなく、Twitterアカウントを一意に識別する値です。

※ユーザIDはコチラのAPIから取得できます

BearerトークンはAppの「Keys and tokens」タブに表示される値です。

Twitter api v2でOAuth2.0認証で指定したユーザIDのツイートを取得する(App-only authentication and OAuth 2.0 Bearer Token)

$ curl --request GET "https://api.twitter.com/2/users/<ユーザID>/tweets" \
 -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \
 -H "Authorization: Bearer <Bearerトークン>"

curlのレスポンスでJSONが返ってきます。

{
  "data": [
    {
      "id": "aaabbbbzzzzyyyyxxxx",
      "text": "ツイートしてます https://t.co/XX"
    },
    //... default 10 results.
  ],
  "meta": {
    "next_token": "7140dibdnow9c7btw421taxidmltbk4xxxxxxxxxxxxx"
    "result_count": 10,
    "newest_id": "153775045029622xxxx",
    "oldest_id": "1537750450296xxxxxx"
  }
}

ページネーションしたい場合は、next_tokenの値をクエリパラメータに指定してあげれば、次の10件が取得できます。

クエリパラメータにmax_resultsを指定すれば最大100件まで取得することができます。

参考サイト

OAuth 2.0 Bearer Token (app-only)
GET /2/users/:id/tweets

コメント

タイトルとURLをコピーしました