PostmanでTwitter APIを直叩きしてみた

#はじめに
Postmanをインストールした前提での記事になります。
PostmanでTwitter API v2を叩けるようになるまで、めちゃくちゃ苦戦したので、忘れないようにをまとめました。
また、ここではGETリクエストのみを叩くことを目的としています。

#PostmanのWorkspacesにTwitter APIコレクションをインポートしてみよう！
まず、PostmanにTwitter APIコレクションをインポートする必要があります。
Twitter APIの公式に記載はあったのですが、公式内の手順に従うとv2のインポートができなかったので、別アプローチで模索することに・・・

(公式内にある[Labs用のPostmanコレクション](https://app.getpostman.com/run-collection/5c97d04336833e700ce7#?env%5BTwitter%20Developer%20Labs%5D=W3sia2V5IjoiY29uc3VtZXJfa2V5IiwidmFsdWUiOiJZb3VyIGNvbnN1bWVyIGtleSIsImVuYWJsZWQiOnRydWV9LHsia2V5IjoiY29uc3VtZXJfc2VjcmV0IiwidmFsdWUiOiJZb3VyIGNvbnN1bWVyIHNlY3JldCIsImVuYWJsZWQiOnRydWV9LHsia2V5IjoiYWNjZXNzX3Rva2VuIiwidmFsdWUiOiJZb3VyIGFjY2VzcyB0b2tlbiIsImVuYWJsZWQiOnRydWV9LHsia2V5IjoidG9rZW5fc2VjcmV0IiwidmFsdWUiOiJZb3VyIHRva2VuIHNlY3JldCIsImVuYWJsZWQiOnRydWV9XQ==)をダウンロードすると、WorkspaceのCollectionsの中に「Twitter Developer Labs」というフォルダーが出来ていて、その中にv1のフォルダーがたくさんありましたがv2がありませんでした。)（画像参照）
![Screen Shot 2021-06-23 at 23.49.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/781fac60-2da3-119e-50d1-e143dedd4903.png)

色々と調べてみると「[Twitter API v2- Postman](https://documenter.getpostman.com/view/9956214/T1LMiT5U)」というサイトが見つかりました。以下の画像がホーム画面になります。
![Screen Shot 2021-06-24 at 0.04.45 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/61944741-ea5d-7ff8-12d7-fff77fb72283.png)

英文で書いてあって抵抗感がある方もいらっしゃるかと思いますが、簡単に訳すと
「Twitter API v2のpostmanコレクションをインポートする場合は右上の[Run in Postman]を押してね！」
「詳しく確認したい人は[GitHubのレポート](https://github.com/twitterdev/postman-twitter-api)を確認してね！」
（ここからインポートも可能）
「このコレクションは環境設定が必要になるので、Tokenやkeyを準備してね！」
といった感じになります。
実際に「Run in Postman」を押すと以下のようになり、Twitter API v2のコレクションをインポート出来ました！![Screen Shot 2021-06-24 at 0.12.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/e5aab44c-1004-159a-2c3b-60d2cd21c4ef.png)

#各Tokenを設定して、GETリクエストを叩いてみよう！
インポート後の叩き方はTwitter APIの公式にすごく分かり易くありましたので、以下を参考にして進めました。
[Postmanの利用開始方法](https://developer.twitter.com/ja/docs/tutorials/postman-getting-started)

1.環境設定
Twitter API v2を選択し、Authorizationを選択します。
Typeをbearer Tokenに選択し、下部のTokenに取得したberer Tokenを入力します。![Screen Shot 2021-06-24 at 0.12.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/4555d73f-522a-3447-286a-8aa6622974fd.png)

次にタブをVariablesにし、各keyやTokenを入力します。
![Screen Shot 2021-06-24 at 12.14.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/d2023422-7c01-3216-fbd0-cbb1f02fd826.png)
全て、入力し終えたら、環境設定は終了です。
次は実際にAPIを叩いてみましょう！

2.APIを叩く。
今回はユーザーとツイートのGETリクエストのみを叩きます。
Twitter API v2のフォルダーの中に「User Lookup」というフォルダーがあるので、中身を見てみましょう。
ずらっとUserのGETリクエストがありますが、その中にある「GET User by Username」を選択します。（以下の画像参照）![Screen Shot 2021-06-30 at 1.18.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/e0e6b2b2-8ece-eee1-c456-236e33ebfc01.png)
画像の真ん中らへんにある「Path Valiables」のValueに参照したいアカウントのusernameを記入します。usernameは@以下のアカウント名になります。
![Screen Shot 2021-06-30 at 1.24.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/547a6132-b3c5-7471-a16c-bde640e98366.png)
次に「Authorization」のタブをクリックします。
Typeを「Bearer Token」にし、取得したBearer Tokenを入力して、青いボタンの「Send」を押しましょう！
するとusernameに記入したアカウントの情報が表示されます。
![Screen Shot 2021-06-30 at 1.33.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/9ab21169-7bd9-9a7a-580a-f76bf95bb4e6.png)
これで、ひとまずUserのGETリクエストは完了です！
Paramsにある「expansions」と「tweet.fields」のKeyにそれぞれ
expansions: `pinned_tweet_id`
tweet.fields: `public_metrics`
のValueを入力してSendボタンを押すと、ピン留めされているツイート自体のデータとそれに付随するデータを取得することができます。
![Untitled.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/38553646-06b2-dba8-3168-b143ad4207cd.gif)
GIFを見て頂くと、ツイートを取得するにはツイートのIDが必要になります。このIDを取得するにはPostman上だと困難のため、何かしたコードを書いて取得する必要がありそうです・・・
そして、ツイートの詳細の情報を取得したいときにTwitter API v2 フォルダーの中にあるTweet Lookupの「GET Single Tweet」を使用します。
名前から見ての通り、一つのツイートについて情報を得るためのGETリクエストです。
複数のツイートを取得するGETリクエストもあるのですが、IDの取得に手間がかかるので、今回は省略します。
叩き方はUserの時とほぼ同じなので割愛します。そして、Query ParamsにあるKeyに対するValueですが、[Twitter Devの公式](https://developer.twitter.com/en/docs/twitter-api/metrics)(英語）やPostmanの右側にある「DESCRIPTION」に書いてあるのでご確認ください。
（以下のGIFを参照）
![Untitled.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1579092/1006269b-b075-5886-ced2-6e94502e9d41.gif)
#まとめ
以上よりv2でのPostmanの使い方とGETリクエストの叩き方になります。

が、調べているとOAuth1.0a認証が出来ていないと取ってこれない値があったりしており、今回の記事はちょっとした表面的な部分を齧ったに過ぎません。
さらにv1.1だとBearer Tokenではv2で取れてた値すら取ってこられなかったりとかなり複雑が増しますので、また別記事でご紹介できたらと思います！