Twurl seperti curl, tetapi dirancang khusus untuk API Twitter. Ia mengetahui cara memberikan token akses ke aplikasi klien untuk pengguna tertentu dan kemudian menandatangani semua permintaan dengan token akses tersebut.
Ini juga memberikan kemudahan pengembangan dan debugging lainnya seperti mendefinisikan alias untuk permintaan umum, serta dukungan untuk beberapa token akses untuk dengan mudah beralih antara aplikasi klien dan akun Twitter yang berbeda.
Twurl dapat diinstal menggunakan RubyGems:
gem install twurl
Jika Anda belum melakukannya, hal pertama yang harus dilakukan adalah mengajukan akun pengembang untuk mengakses API Twitter:
https://developer.twitter.com/en/apply-for-access
Setelah Anda memiliki akses tersebut, Anda dapat membuat aplikasi Twitter dan membuat kunci dan rahasia konsumen.
Ketika Anda memiliki kunci konsumen dan rahasianya, Anda memberi otorisasi pada akun Twitter Anda untuk membuat permintaan API dengan kunci dan rahasia konsumen tersebut.
twurl authorize --consumer-key key
--consumer-secret secret
Ini akan mengembalikan URL yang harus Anda buka di browser Anda. Otentikasi ke Twitter, lalu masukkan kembali PIN yang dikembalikan ke terminal. Dengan asumsi semuanya berfungsi dengan baik, Anda akan diberi wewenang untuk membuat permintaan dengan API. Twurl akan memberitahumu banyak hal.
Permintaan paling sederhana hanya mengharuskan Anda menentukan jalur yang ingin Anda minta.
twurl /1.1/statuses/home_timeline.json
Mirip dengan curl, permintaan GET dilakukan secara default.
Anda dapat secara implisit melakukan permintaan POST dengan meneruskan opsi -d, yang menentukan parameter POST.
twurl -d ' status=Testing twurl ' /1.1/statuses/update.json
Anda dapat secara eksplisit menentukan metode permintaan apa yang akan dilakukan dengan opsi -X (atau --request-method).
twurl -X POST /1.1/statuses/destroy/1234567890.json
Anda dapat membuat token pembawa menggunakan opsi --bearer
yang dikombinasikan dengan subperintah authorize
.
twurl authorize --bearer --consumer-key key
--consumer-secret secret
Dan kemudian, Anda dapat membuat permintaan menggunakan token pembawa yang dihasilkan menggunakan opsi --bearer
request.
twurl --bearer ' /1.1/search/tweets.json?q=hello '
Untuk membuat daftar token pembawa yang dihasilkan, Anda dapat menggunakan subperintah bearer_tokens
.
twurl bearer_tokens
Ini akan mencetak sepasang kunci_konsumen dan token pembawa yang terkait. Catatan, token dihilangkan dari keluaran ini.
Anda dapat mengakses host berbeda untuk API Twitter lainnya menggunakan tanda -H.
twurl -H " ads-api.twitter.com " " /7/accounts "
Untuk mengunggah file biner, Anda dapat memformat panggilan sebagai postingan formulir. Di bawah, binernya adalah "/path/to/media.jpg" dan kolom formulirnya adalah "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
Anda kemudian dapat menggunakan "h" sebagai pengganti path lengkap.
twurl h
Jalur yang memerlukan opsi tambahan (seperti parameter permintaan, misalnya) dapat digunakan dengan alias yang sama seperti jalur eksplisit penuh, seperti yang Anda harapkan.
twurl alias tweet /1.1/statuses/update.json
twurl tweet -d " status=Aliases in twurl are convenient "
Pertama kali Anda mengotorisasi aplikasi klien untuk membuat permintaan atas nama akun Anda, twurl menyimpan informasi token akses Anda di file ~/.twurlrc
-nya. Permintaan selanjutnya akan menggunakan profil ini sebagai profil default. Anda dapat menggunakan subperintah accounts
untuk melihat aplikasi klien apa yang telah diotorisasi untuk nama pengguna apa:
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA (default)
testiverse
guT9RsJbNQgVe6AwoY9BA
Perhatikan bahwa salah satu kunci konsumen tersebut ditandai sebagai default. Untuk mengubah default, gunakan subperintah set
, dengan meneruskan nama pengguna saja, jika tidak ambigu, atau pasangan nama pengguna dan kunci konsumen jika tidak ambigu:
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
Meskipun mengubah profil default memungkinkan Anda memilih token akses mana (OAuth1.0a) yang akan digunakan, token pembawa tidak tertaut ke profil pengguna mana pun karena autentikasi khusus Aplikasi tidak memerlukan konteks pengguna. Artinya, Anda dapat membuat permintaan khusus aplikasi terlepas dari profil default Anda jika Anda menentukan opsi -c
( --consumer-key
) setelah Anda membuat token pembawa dengan kunci konsumen ini. Secara default, twurl membaca kunci konsumen profil saat ini dan token pembawa terkait dari file ~/.twurlrc
.
Marcel Molina / @noradio
Erik Michaels-Ober / @sferik
dan masih banyak lagi!