Catatan Penting: Pada pertengahan 2018, proses untuk mendapatkan token API Twitter menjadi jauh lebih birokratis. Saya memerlukan waktu lebih dari satu minggu kerja untuk diberikan satu set token API, dan ini untuk proyek sumber terbuka untuk Anda dengan 1,2 juta instalasi di Packagist dan 1,6k bintang di Github, yang secara teoritis seharusnya menjadi prioritas lebih tinggi .
Jika Anda ditugaskan untuk bekerja dengan API twitter untuk pekerjaan Anda, Anda harus memperhitungkan waktu tunggu yang berpotensi sangat lama ini. Pertimbangkan juga jalan media sosial lainnya seperti Facebook atau Instagram dan sediakan pilihan ini, karena proses pengambilan token mereka instan.
Jadi Anda ingin menggunakan Twitter v1.1 API?
Catatan: file-file ini ada di GitHub .
Versi 1.0 akan segera ditinggalkan dan permintaan tidak sah tidak akan diizinkan. Jadi, inilah sebuah pos untuk membantu Anda melakukan hal itu, bersama dengan kelas PHP untuk membuat hidup Anda lebih mudah.
1. Buat akun pengembang: Setel diri Anda akun pengembang di Twitter
Anda perlu mengunjungi situs pengembang Twitter resmi dan mendaftar untuk akun pengembang. Ini adalah langkah gratis dan perlu untuk membuat permintaan untuk API v1.1.
2. Buat aplikasi: Buat aplikasi di situs pengembang Twitter
Apa? Anda pikir Anda bisa membuat permintaan yang tidak diautentikasi? Tidak dengan API v1.1 Twitter. Anda perlu mengunjungi http://dev.twitter.com/apps dan klik tombol "Buat Aplikasi".
Di halaman ini, isi detail apa pun yang Anda inginkan. Bagi saya, itu tidak masalah, karena saya hanya ingin membuat banyak permintaan blokir untuk menyingkirkan pengikut spam. Intinya adalah Anda akan mendapatkan satu set kunci unik untuk digunakan untuk aplikasi Anda.
Jadi, tujuan membuat aplikasi adalah memberi diri Anda (dan Twitter) satu set kunci. Ini adalah:
- Kunci konsumen
- Rahasia konsumen
- Token akses
- Rahasia akses token
Ada sedikit informasi di sini tentang tujuan token ini.
3. Buat token akses : Anda akan memerlukan ini untuk membuat permintaan yang berhasil
OAuth meminta beberapa token. Jadi, Anda harus membuatnya untuk Anda.
Klik "buat token akses saya" di bagian bawah. Kemudian setelah Anda gulir ke bawah lagi, Anda akan memiliki beberapa kunci yang baru dibuat. Anda perlu mengambil empat kunci yang sebelumnya berlabel dari halaman ini untuk panggilan API Anda, jadi buat catatan di suatu tempat.
4. Ubah tingkat akses : Anda tidak ingin hanya-baca, bukan?
Jika Anda ingin menggunakan API ini dengan layak, Anda harus mengubah pengaturan menjadi Baca & Tulis jika Anda melakukan hal lain selain pengambilan data standar menggunakan permintaan GET .
Pilih tab "Pengaturan" di dekat bagian atas halaman.
Berikan akses baca / tulis aplikasi Anda, dan tekan "Perbarui" di bagian bawah.
Anda dapat membaca lebih lanjut tentang model izin aplikasi yang digunakan Twitter di sini.
5. Tulis kode untuk mengakses API : Saya sudah melakukan sebagian besar untuk Anda
Saya menggabungkan kode di atas, dengan beberapa modifikasi dan perubahan, ke dalam kelas PHP sehingga sangat mudah untuk membuat permintaan yang Anda butuhkan.
Ini menggunakan OAuth dan Twitter v1.1 API , dan kelas yang saya buat yang dapat Anda temukan di bawah.
require_once('TwitterAPIExchange.php');
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN",
'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
'consumer_key' => "YOUR_CONSUMER_KEY",
'consumer_secret' => "YOUR_CONSUMER_SECRET"
);
Pastikan Anda memasukkan kunci yang Anda dapatkan dari aplikasi di atas di ruang masing-masing.
Selanjutnya Anda harus memilih URL yang ingin Anda minta. Twitter memiliki dokumentasi API mereka untuk membantu Anda memilih URL mana dan juga tipe permintaan (POST atau GET).
/** URL for REST request, see: https://dev.twitter.com/docs/api/1.1/ **/
$url = 'https://api.twitter.com/1.1/blocks/create.json';
$requestMethod = 'POST';
Dalam dokumentasi, setiap URL menyatakan apa yang dapat Anda sampaikan. Jika kami menggunakan URL "blokir" seperti yang di atas, saya dapat meneruskan parameter POST berikut:
/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
'screen_name' => 'usernameToBlock',
'skip_status' => '1'
);
Sekarang setelah Anda mengatur apa yang ingin Anda lakukan dengan API, saatnya untuk membuat permintaan yang sebenarnya.
/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
Dan untuk permintaan POST , itu dia!
Untuk permintaan GET , ini sedikit berbeda. Ini sebuah contoh:
/** Note: Set the GET field BEFORE calling buildOauth(); **/
$url = 'https://api.twitter.com/1.1/followers/ids.json';
$getfield = '?username=J7mbo';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
Contoh kode akhir : Untuk permintaan GET sederhana untuk daftar pengikut saya.
$url = 'https://api.twitter.com/1.1/followers/list.json';
$getfield = '?username=J7mbo&skip_status=1';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
Saya telah meletakkan file-file ini di GitHub dengan kredit ke @ lackovic10 dan @rivers! Saya harap seseorang menemukan itu berguna; Saya tahu saya lakukan (saya menggunakannya untuk pemblokiran massal dalam satu lingkaran).
Juga, bagi mereka yang di Windows yang mengalami masalah dengan sertifikat SSL, lihat posting ini . Pustaka ini menggunakan cURL di bawah tenda sehingga Anda perlu memastikan bahwa Anda mengatur cURL Anda. Google juga temanmu.