why
https://developer.twitter.com/en/docs/tutorials/postman-getting-started
この公式doc の postman チュートリアルによると
Postman を使うと
- エンドポイントの URL
- 自分の Bearer Token
- tweet.fields や expansions などの追加情報
これらをファイル(ワークスペース?)として保存して置けるらしい。
Postman で Twitter API v2 のワークスペースを保存
まず、上部のURL の画面に
https://api.twitter.com/2/tweets/20?expansions=author_id
前回使った URL を入れる。
すると ? クエリで追加されている expansions が Params のタブに追加されている。
次に Auth タブから Type で Bearer Token を選択。
Token の入力欄に 自分の Bearer Token を入力する。
これで実行できることを確認して
Twitter API v2 として保存する。
Params で tweet.fields に created_at,attachments を追加する
Params タブの GUI のテーブルに
KEY に tweet.fields を入れて
VALUE に created_at,attachments を追加する
https://api.twitter.com/2/tweets/
1528004049932816384
?expansions=author_id
&tweet.fields=created_at,attachments
すると & で URL にも
今追加した tweet.fields のパラメータが追加される。
attachments と created_at を入れた状態で実行する
4 枚の犬の画像でテストする
{
"data": {
"attachments": {
"media_keys": [
"3_1528004043674898432",
"3_1528004043649732608",
"3_1528004043637149696",
"3_1528004044899635200"
]
},
"author_id": "2669426204",
"id": "1528004049932816384",
"text": "すくすく育っとるな〜 https://t.co/OB0LAKtKwA",
"created_at": "2022-05-21T13:25:29.000Z"
},
"includes": {
"users": [
{
"id": "2669426204",
"name": "ハマジ",
"username": "xxhama2"
}
]
}
}
attachments の中に media_keys が入っていて
その中に 写真の内部ID ?が 4 つ入っている。
また、id や text に並列で created_at も取得できた。
ただ、この後 media_keys から画像をどうやって表示するかは不明。
python で media_key から photo_url を取得しているサンプルを見てみる
https://gist.github.com/msakamoto-sf/356b986d26878ba803d1e00146f218f1
この画像保存の gist コードを見ると
media_key_to_photo_urls = {}
medias = response.includes['media']
for media in medias:
media_key = media.media_key
media_type = media.type
media_url = media.url if hasattr(media, 'url') else ''
#print(f'===>> key={media_key}, type={media_type}, url={media_url}')
if media_url:
media_key_to_photo_urls[media_key] = media_url
- お馴染みの メディアの ID となる media_key
- replied_to などが入る? type
- entities.urls.url のことだと推測される url
これらを
media_key_to_photo_urls オブジェクトの
media_key の名前の key で
media_url の value を入れてまとめて、そこから tweetpy で引っ張っているらしい。詳細はわからなかった。
Youtube などで調べても python のサンプルばかりだった。
まとめ
Postman を使うと
- エンドポイントの URL
- GET/POST/PUT/DELETE の HTTP メソッド名
- トークン情報
- クエリの key: value
これらをワークスペースとして保存することができる。
また、クエリパラメータの tweet.fileds として
- created_at
- attachments
これらを指定すると
作成日と写真ID と予想される media_keys を取得できる。
しかし、画像自体を取得する方法はわからなかった。
表の URL のように /photos/1
などで取得できるのだろうか?
Top comments (0)