https://developer.twitter.com/en/docs/tutorials/postman-getting-started
docs を見てツイートの詳細データを取得してみる
会話ID
https://api.twitter.com/2/tweets/1528004049932816384?tweet.fields=conversation_id
tweet.fields で conversation_id を value に指定すると
{
"data": {
"conversation_id": "1528004049932816384",
"id": "1528004049932816384",
"text": "すくすく育っとるな〜 https://t.co/OB0LAKtKwA"
}
}
会話 ID が取得できた。これを使うと会話のツリーを表示できるのだろうか?
entities/urls
同じくフィールドに entities を指定して
同じく 4 つの犬の画像のツイートを取得してみる
{
"data": {
"id": "1528004049932816384",
"text": "すくすく育っとるな〜 https://t.co/OB0LAKtKwA",
"entities": {
"urls": [
{
"start": 11,
"end": 34,
"url": "https://t.co/OB0LAKtKwA",
"expanded_url": "https://twitter.com/xxhama2/status/1528004049932816384/photo/1",
"display_url": "pic.twitter.com/OB0LAKtKwA",
"media_key": "3_1528004043674898432"
},
{
"start": 11,
"end": 34,
"url": "https://t.co/OB0LAKtKwA",
"expanded_url": "https://twitter.com/xxhama2/status/1528004049932816384/photo/1",
"display_url": "pic.twitter.com/OB0LAKtKwA",
"media_key": "3_1528004043649732608"
},
{
"start": 11,
"end": 34,
"url": "https://t.co/OB0LAKtKwA",
"expanded_url": "https://twitter.com/xxhama2/status/1528004049932816384/photo/1",
"display_url": "pic.twitter.com/OB0LAKtKwA",
"media_key": "3_1528004043637149696"
},
{
"start": 11,
"end": 34,
"url": "https://t.co/OB0LAKtKwA",
"expanded_url": "https://twitter.com/xxhama2/status/1528004049932816384/photo/1",
"display_url": "pic.twitter.com/OB0LAKtKwA",
"media_key": "3_1528004044899635200"
}
]
}
}
}
すると urls という配列になっていて
- start
- end
- url
- expanded_url
- display_url
- media_key
それぞれ、これらが入っている。
url が
https://t.co/1234
の形の短縮 URL
expanded_url が
"https://twitter.com/xxhama2/status/1234/photo/1"
の形の表の通常の URL
display_url が
pic.twitter.com/1234
の形の画像 URL (アクセスするとツイートに誘導される)
になっている。
この中では display_url から画像が表示できると予想する。
in_reply_to_user_id
他者からのリプライでは ID が取れるが、自分へのリプライは表示されなかった。
public_metrics
公開測定基準?
- RT
- リプライ
- いいね
- 引用 RT
これらの数を取得できる。
https://api.twitter.com/2/tweets/
1528085462044545025?
tweet.fields=public_metrics
これを実行すると
{
"data": {
"id": "1528085462044545025",
"public_metrics": {
"retweet_count": 3,
"reply_count": 0,
"like_count": 21,
"quote_count": 0
},
"text": "一緒に食べてるなごむw https://t.co/6tjUzFtiqx"
}
}
このように RT と いいね などの数が取れた。
これはとても便利そう。
organic_metrics
いいね、RT、リプライ数、これの他にインプレッション数が見れる。
しかし普通にリクエストしても
"Sorry, you are not authorized to access 'organic_metrics.impression_count' on the Tweet with id : [1234].",
権限がないと出てしまった。
https://developer.twitter.com/en/docs/tutorials/postman-getting-started
Requires user context authentication.
とドキュメントに書いてあるので
api_secret などをリクエストに含めないといけないのかもしれない。
まとめ
ツイート ID から tweet.fileds の value を変えてリクエストすることで
- conversation_id で そのツイートの会話ツリーとして ID
- entities.urls.display_url でツイートの画像URL
- public_metrics で いいね や RT 数
これらの詳細情報が獲得できたが
インプレッション数はさらなる認証がないと取得できなかった。
次回
これまではツイートID から詳細を取得してきた
次は ユーザーID からそのユーザーのツイートリストを取得したい。
Top comments (0)