参考
zenn の nekoshita さんの記事
開発者アカウントの作成
https://developer.twitter.com/
にアクセスして
メールアドレスの登録がされている Twitter アカウントで
- 利用目的 200 文字
- Tweet & Retweet & Reply... などの各項目の利用目的 100 文字
これらを記載して Twitter 開発者アカウントを作成する。
Bearer などのトークンの取得とメモ
すると API アプリが作れるようになって、作ると
- api key
- api key secret
- Bearer Token
これらのトークンが入手できるのでメモに控える。
https://qiita.com/h_tyokinuhata/items/ab8e0337085997be04b1
Bearer Token は HTTP リクエストで必ず使われる担い手 ID 。
どの Twitter API ユーザーがこのリクエストを打ったかの情報だと推測する。
API のリクエストサンプルを確認
アプリを作ってトークンを発行すると、実際に叩いてみるための
サンプルツイートとサンプルリクエストの例の画面に誘導される。
curl -X GET -H
"Authorization: Bearer <BEARER TOKEN>"
"https://api.twitter.com/2/tweets/20?expansions=author_id"
これを実際にターミナルで叩いてみろと出る。
管理画面のこのサンプルのように
ヘッダーに Bearer Token を入れて
https://api.twitter.com/2/tweets/{tweetId}
とすると JSON が返ってくるらしい。
author_id は optional 。
ツイートID 20 に実際にリエクエストしてみる
curl -X GET -H "Authorization: Bearer 1234"
"https://api.twitter.com/2/tweets/20?expansions=author_id"
サンプルに出ているツイートID 20 に打つと
{
"data": {
"author_id": "12",
"id": "20",
"text": "just setting up my twttr"
},
"includes": {
"users": [
{
"id": "12",
"name": "jack",
"username": "jack"
}
]
}
}
JSON のデータで
- author_id (ツイートしたユーザーの内部 ID )
- id (ツイート ID )
- text (ツイートの内容)
これらの基礎データと、
expansions=author_id をつけているので
users (そのツイートをしたユーザー) のデータとして
- id (author_id、内部で扱われているユーザーID)
- name (Twitter ユーザーが設定しているハンドルネーム)
- username (Twitter アプリで見える ID)
これらが拡張して取得できているを確認した。
ツイートID 1528083859430330369 にリクエストしてみる
自分でツイートしたツイートの ID を控えてこれにも同じリクエストを打ってみる。
curl -X GET -H "Authorization: Bearer 1234" "https://api.twitter.com/2/tweets/1528083859430330369?expansions=author_id"
すると
{
"data": {
"author_id": "848541381836423170",
"id": "1528083859430330369",
"text": "API から取るようのテストツイート"
},
"includes": {
"users": [
{
"id": "848541381836423170",
"name": "カエデ.tsx",
"username": "kaede_io"
}
]
}
}
ツイートID 20 同様に取得できた。
これによって
- 自分の本来の内部ユーザーID
- ツイート本文を日本語で
- 自分のハンドルネーム
- 自分のTwitterで表示されるユーザーId
これらが確認できた。
ベラトークンに<>をつけて入れるとエラーになる
{
"title": "Unauthorized",
"type": "about:blank",
"status": 401,
"detail": "Unauthorized"
}%
401 で失敗が返ってくる。
まとめ
ツイートを HTTP GET リクエストで取得するためは
開発者アカウントを登録して開発アプリを取得し、Bearer Token を発行
ツイートID と自分の Bearer Token を使って
curl -X GET -H "Authorization: Bearer {bearer_token}"
https://api.twitter.com/2/tweets/{tweetId}
こうやってリクエストする。
すると JSON で
- author_id (ツイートしたユーザーの内部 ID )
- id (ツイート ID )
- text (ツイートの内容)
これらのツイート情報を表示することができる。
次回
このデータでは一つのツイートの
- Like (いいね)
- Retweet
- Replies (ついているリプライ)
これらのデータが入っていないのでそれを取得したい。
また、今回はツイートID からのリクエストだったので
ユーザーID からのリクエストでツイートリストを取得したい。
Top comments (0)