Önemli Not: 2018'in ortalarından itibaren, twitter API jetonlarını alma süreci çok daha bürokratik hale geldi. Bitti beni almıştır hafta çalışıyor birinin API simgesi takımını sağlanacak ve bu aşkın konusunda sizin ve kızlar için bir açık kaynak projesi içindir milyon 1.2 kurulumları teorik yüksek öncelik olmalıdır Github üzerinde Packagist ve 1.6k yıldızlı .
İşiniz için twitter API'sı ile çalışmakla görevli iseniz, bu potansiyel olarak çok uzun bekleme süresini dikkate almanız gerekir. Ayrıca Facebook veya Instagram gibi diğer sosyal medya yollarını da göz önünde bulundurun ve jetonlarını alma işlemi anında olduğundan bu seçenekleri sağlayın.
Twitter v1.1 API'sını mı kullanmak istiyorsunuz?
Not: bunların dosyaları GitHub'dadır .
1.0 sürümü yakında kullanımdan kaldırılacak ve yetkisiz isteklere izin verilmeyecek. İşte hayatınızı kolaylaştırmak için bir PHP sınıfıyla birlikte bunu yapmanıza yardımcı olacak bir yazı.
1. Bir geliştirici hesabı oluşturun: Kendinizi Twitter'da bir geliştirici hesabı oluşturun
Resmi Twitter geliştirici sitesini ziyaret etmeniz ve bir geliştirici hesabına kaydolmanız gerekir. Bu, v1.1 API için istekte bulunmak için ücretsiz ve gerekli bir adımdır.
2. Uygulama oluşturma : Twitter geliştirici sitesinde bir uygulama oluşturun
Ne? Kimliği doğrulanmamış isteklerde bulunabileceğinizi mi düşündünüz? Twitter'ın v1.1 API'sı ile değil. Http://dev.twitter.com/apps adresini ziyaret etmeniz ve "Uygulama Oluştur" düğmesini tıklamanız gerekir .
Bu sayfada, istediğiniz ayrıntıları girin. Benim için önemli değildi, çünkü spam takipçilerinden kurtulmak için bir sürü blok istek yapmak istedim. Mesele şu ki, kendinize uygulamanız için kullanabileceğiniz bir dizi benzersiz anahtar bulacaksınız .
Yani, bir uygulama yaratmanın amacı kendinize (ve Twitter'a) bir dizi anahtar vermektir. Bunlar:
- Tüketici anahtarı
- Tüketici sırrı
- Erişim belirteci
- Erişim belirteci sırrı
Burada bu tokenlerin ne için olduğu hakkında biraz bilgi var .
3. Erişim belirteçleri oluşturma : Başarılı istekler yapmak için bunlara ihtiyacınız olacak
OAuth birkaç simge istiyor. Bu yüzden onları sizin için üretmelisiniz.
En alttaki "erişim kodumu oluştur" u tıklayın. Sonra tekrar en alta kaydırdığınızda, yeni oluşturulan anahtarlarınız olacaktır. API çağrılarınız için bu sayfadan önceden etiketlenmiş dört anahtarı almanız gerekir, bu yüzden bunları bir yere not edin.
4. Erişim seviyesini değiştirin : Salt okunur istemiyorsunuz, değil mi?
Bu API'yı iyi bir şekilde kullanmak istiyorsanız, GET isteklerini kullanarak standart veri alma dışında bir şey yapıyorsanız ayarlarınızı Okuma ve Yazma olarak değiştirmeniz gerekir .
Sayfanın üst kısmındaki "Ayarlar" sekmesini seçin.
Uygulamanıza okuma / yazma erişimi verin ve alttaki "Güncelle" yi tıklayın.
Sen edebilirsiniz uygulamalar izni modeli hakkında daha fazla bilgi Heyecan burada kullandığı.
5. API'ya erişmek için kod yazın : Çoğunu sizin için yaptım
Yukarıdaki kodu, bazı değişiklikler ve değişiklikler ile bir PHP sınıfına birleştirdim, böylece ihtiyacınız olan istekleri yapmak gerçekten basit.
Bu, OAuth ve Twitter v1.1 API'sini ve aşağıda bulabildiğim oluşturduğum sınıfı kullanır .
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"
);
Uygulamanızdan aldığınız anahtarları ilgili alanlarına yerleştirdiğinizden emin olun.
Ardından, istekte bulunmak istediğiniz bir URL seçmeniz gerekir. Twitter, hangi URL'yi ve ayrıca istek türünü (POST veya GET) seçmenize yardımcı olacak API belgelerine sahiptir .
/** 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';
Dokümantasyonda, her URL neye geçebileceğinizi belirtir. Yukarıdaki gibi "bloklar" URL'sini kullanırsak, aşağıdaki POST parametrelerini iletebilirim:
/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
'screen_name' => 'usernameToBlock',
'skip_status' => '1'
);
Artık API ile ne yapmak istediğinizi ayarladığınıza göre, gerçek istekte bulunmanın zamanı geldi.
/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
Ve bir POST isteği için, hepsi bu!
Bir GET isteği için biraz farklı. İşte bir örnek:
/** 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();
Son kod örneği : Takipçilerimin listesi için basit bir GET isteği için.
$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();
Bu dosyaları GitHub'a @ lackovic10 ve @rivers'a kredi ile koydum! Umarım birisi faydalı bulur; Yaptığımı biliyorum (bir döngüde toplu engelleme için kullandım).
Ayrıca, SSL sertifikaları, bakmak ile ilgili sorunlar yaşıyorsanız kim Windows olanlar için bu yazı . Bu kütüphane başlık altında cURL kullanır, bu nedenle muhtemelen cURL sertifikalarınızı ayarladığınızdan emin olmanız gerekir. Google aynı zamanda arkadaşınızdır.