Twurl はカールに似ていますが、特に Twitter API 向けに調整されています。これは、指定されたユーザーのクライアント アプリケーションにアクセス トークンを付与し、そのアクセス トークンを使用してすべてのリクエストに署名する方法を知っています。
また、一般的なリクエストのエイリアスの定義や、異なるクライアント アプリケーションと Twitter アカウントを簡単に切り替えるための複数のアクセス トークンのサポートなど、その他の開発およびデバッグの利便性も提供します。
Twurl は RubyGems を使用してインストールできます。
gem install twurl
まだ行っていない場合は、まず Twitter API にアクセスするための開発者アカウントを申請します。
https://developer.twitter.com/en/apply-for-access
このアクセス権を取得したら、Twitter アプリを作成し、コンシューマ キーとシークレットを生成できます。
コンシューマ キーとそのシークレットを取得すると、そのコンシューマ キーとシークレットを使用して API リクエストを行うことを Twitter アカウントに承認したことになります。
twurl authorize --consumer-key key
--consumer-secret secret
これにより、ブラウザで開く必要がある URL が返されます。 Twitter への認証を行い、返された PIN を端末に再度入力します。すべてがうまく機能すると、API を使用してリクエストを行うことが許可されます。 Twurl がそれくらい教えてくれます。
最も単純なリクエストでは、リクエストするパスを指定するだけです。
twurl /1.1/statuses/home_timeline.json
curl と同様に、GET リクエストはデフォルトで実行されます。
POST パラメータを指定する -d オプションを渡すことで、暗黙的に POST リクエストを実行できます。
twurl -d ' status=Testing twurl ' /1.1/statuses/update.json
-X (または --request-method) オプションを使用して、実行するリクエスト メソッドを明示的に指定できます。
twurl -X POST /1.1/statuses/destroy/1234567890.json
--bearer
オプションとauthorize
サブコマンドを組み合わせて使用すると、ベアラー トークンを生成できます。
twurl authorize --bearer --consumer-key key
--consumer-secret secret
その後、 --bearer
リクエスト オプションを使用して、生成されたベアラー トークンを使用してリクエストを行うことができます。
twurl --bearer ' /1.1/search/tweets.json?q=hello '
生成されたベアラー トークンを一覧表示するには、 bearer_tokens
サブコマンドを使用できます。
twurl bearer_tokens
これにより、consumer_key とそれに関連付けられたベアラー トークンのペアが出力されます。この出力ではトークンが省略されていることに注意してください。
-H フラグを使用すると、他の Twitter API の異なるホストにアクセスできます。
twurl -H " ads-api.twitter.com " " /7/accounts "
バイナリ ファイルをアップロードするには、呼び出しをフォーム投稿としてフォーマットできます。以下では、バイナリは「/path/to/media.jpg」、フォームフィールドは「media」です。
twurl -H " upload.twitter.com " -X POST " /1.1/media/upload.json " --file " /path/to/media.jpg " --file-field " media "
twurl alias h /1.1/statuses/home_timeline.json
フルパスの代わりに「h」を使用できます。
twurl h
追加のオプション (リクエスト パラメーターなど) が必要なパスは、ご想像のとおり、完全な明示的パスと同じようにエイリアスとともに使用できます。
twurl alias tweet /1.1/statuses/update.json
twurl tweet -d " status=Aliases in twurl are convenient "
初めてクライアント アプリケーションがアカウントに代わってリクエストを行うことを許可すると、twurl はアクセス トークン情報を~/.twurlrc
ファイルに保存します。後続のリクエストでは、このプロファイルがデフォルトのプロファイルとして使用されます。 accounts
サブコマンドを使用すると、どのクライアント アプリケーションがどのユーザー名に対して認可されているかを確認できます。
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA (default)
testiverse
guT9RsJbNQgVe6AwoY9BA
これらのコンシューマ キーの 1 つがデフォルトとしてマークされていることに注目してください。デフォルトを変更するには、 set
サブコマンドを使用し、明確な場合はユーザー名のみを渡すか、明確でない場合はユーザー名とコンシューマ キーのペアを渡します。
twurl set default testiverse
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA (default)
twurl set default noradio HQsAGcBm5MQT4n6j7qVJw
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw (default)
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA
デフォルトのプロファイルを変更すると、使用するアクセス トークン (OAuth1.0a) を選択できますが、アプリケーションのみの認証にはユーザー コンテキストが必要ないため、ベアラー トークンはどのユーザー プロファイルにもリンクしません。つまり、このコンシューマー キーでベアラー トークンを生成した後で-c
( --consumer-key
) オプションを指定すると、デフォルトのプロファイルに関係なくアプリケーションのみのリクエストを行うことができます。デフォルトでは、twurl は現在のプロファイルのコンシューマ キーとそれに関連付けられたベアラー トークンを~/.twurlrc
ファイルから読み取ります。
マルセル・モリーナ / @noradio
エリック・マイケルズ・オーバー / @sferik
他にもたくさんあります!