途中で詰まった方は、Google等で「Twitter API Key 取得」などと検索すると詳しい情報が得られますので、参考にしてください。仕様変更などによりうまくいかない場合がままあります。
一つ一つのリクエストに対して認証情報を入力するのは非効率なので、Pawの環境変数の機能を用いて設定していきます。
Pawの新規ドキュメント(Create a New Local Project)を開き、左上の"Environments"をクリックし、続けて"Manage"をクリックします。
初めに用意されていた"Default Group"の名称を「Auth」に変更し、そのまま"Variable"の"name"に「Authorization」と入力します(それ以外の名称でも可能ですが、ここではこの名称を使用することとします)。
そして、"value"の部分を右クリックし、"Authorization" → "OAuth 1.0a Authorization Header"をクリックします。
出てきた入力画面に、下記の通り入力していきます。
APIサーバーの情報を環境変数に設定して、そこから情報を呼び出すようにしておきます。
環境変数設定画面にて、"Group"に「Server」を追加し、"Variable"に「Protocol」「Host」「Port」を追加、それぞれの"value"へ「https」「api.twitter.com」「443」と入力します。
なお、ここで"Production"以外の列を追加し、値を入力すると、実行時に対象サーバーを即時に切り替えることができます。便利ですね。
認証情報やサーバー情報を入力し終えたので、あとはAPIを叩くのみです。
Twitter APIの仕様はこちらに記載されています。
まずは手始めに、自分のツイート情報を取得してみましょう。
自分のツイート情報を取得するAPIは、GET statuses/user_timelineです。リソースURLはhttps://api.twitter.com/1.1/statuses/user_timeline.jsonです。必須パラメーターはありません。
まず、Pawの画面左側の、初めから用意されている"Request"の項目の名称を「Twitter User Timeline」のようなわかりやすい名称に変更しておきましょう。そして、メソッドは「GET」で、URLにサーバー情報を入力します。
サーバー情報は環境変数に設定済みなので、URL欄に「{Protocol」と入力すると、入力欄の下部に"Server Protocol"の項目が表示されるので、それをダブルクリックします。
すると、環境変数「Protocol」がセットされます。
これと同じ要領で、環境変数を使用しながらURLを入力していきます。
URLを上図のように入力し終えたら、認証情報をセットします。
"Headers"タブの"Header Name"に「Authorization」を追加し、"Header Value"に環境変数「Authorization」を追加します。
これでAPIを叩く準備ができました。URL欄の右側の更新ボタンをクリックしてみましょう。ここまでの設定が正しければ、自身のタイムライン情報がJSON形式で取得できるはずです。
正しく情報が取得できましたか? 取得できない場合は、認証情報や設定値が誤っている可能性があります。今一度確認してみましょう。
では次、ツイートしてみましょう。
ツイートするためのAPIは、POST statuses/updateです。リソースURLはhttps://api.twitter.com/1.1/statuses/update.jsonです。必須パラメーターは"status"です。
まず、前回の"Twitter User Timeline"のリクエストを右クリック、"Duplicate"をクリックし、コピーを作成しましょう。そして、名称を「Twitter Update」などの分かりやすい名称に変更します。
メソッドを「POST」に変更し、URLも修正しましょう。
"Body"タブを選択し、"Form URL-Encoded"の"Parameter Key"に「status」、"Value"に「Pawなう -https://s8a.jp/paw-twitter-api」と入力します。
これで、準備完了! URL欄の右側の更新ボタンをクリック!!
Pawなう -https://s8a.jp/paw-twitter-api — もりやませーた (@n0F) 2016年11月7日
Pawを使ってTwitter APIを叩いてみました。
Pawを用いることで、OAuthの認証周りの確認が、通常に比べて容易に可能であることがわかると思います。
Twitterのような外部サービスのAPIを叩くだけだと、今回用いた環境変数の機能の恩恵も受けにくいですが、自社サービス等のデバッグの際には、環境を切り替える必要が出てきますから、非常に便利です。布教活動の意を込めて、ここでも使っておきました。
皆さんも、Pawを用いてAPIテストを爆速化してみてはいかがでしょうか。