"Http temel kimlik doğrulama" ile twitter API nasıl kullanılır?

5 Cevap php

"Http temel kimlik doğrulama" ile twitter API nasıl kullanılır?

Ben "tüketici anahtarını" kullanmak gerektiğini düşünüyorum! twitter verdi çünkü sen benim tüketici tuşunu kullanabilirsiniz olmasaydı nasıl onlar benim istekleri sayabilirsiniz, saatte istekleri hızını sınırlamak?

5 Cevap

Eğer gerçek uygulama ve HTTP başlıklarını görmezden istiyorsanız sadece cURL kullanmak, bir şey ile HTTP temel kimlik denetimi kullanmak istediğinizde. Burada PHP basit bir örnek, cURL de diğer dillerde mevcuttur:

<?php
$ch = curl_init();
// Sets the URL cURL will open
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/user_timeline.xml?screen_name=al3x');
// Here's the HTTP auth
// The 3rd argument is your Twitter username and password joined with a colon
curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
// Makes curl_exec() return server response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Lately the Twitter API expects an Expect header. It's a mystery
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
// And here's the result XML
$twitter_xml = curl_exec($curl_handle);
curl_close($ch);
?>

Ve sonra $twitter_xml Al3x kamu zaman çizelgesinin XML içerecektir. Bildiğim kadarıyla sınırlayıcı oranı gider gibi, ceejayoz zaten oldukça iyi olduğunu yanıtladı.

Kimliği doğrulanmış API GET istekleri kullanıcı hesabınızın çetelesini karşı sayılır.

(Bazı yöntemlerle izin) kimliği doğrulanmamış API GET istekleri IP adresin çetelesini karşı sayılır.

POST istekleri sınırlı oran değildir.

More details are available in the Twitter docs.

Ben onlar aynı IP'den istekleri saymak düşünürdüm - ama çift kontrol değil.

Hatta dinamik IP adresi herhangi bir diğer tanımlayıcı bilgileri, diğer kullanıcıların sizi ayırt edecek tek şey yokluğunda, bir oturum için statik olacak ve.

Diğer posterleri söylediğim gibi - bir anahtar var ise daha iyi yöntemler vardır.

I recently wrote some PHP to post to Twitter This is the working part of it:

$message = 'A new revision (#' . $data['revision'] . ') was commited by ' . $data['author'] . ': ' . $data['message'] . "";

$message = substr($message, 0, 140);

$content = 'status=' . urlencode($message);
$packetString = "POST /statuses/update.xml HTTP/1.1\r\n";
$packetString .= "Authorization: Basic " . base64_encode($username . ":" . $password) . "\r\n";
$packetString .= "Content-Length:" . strlen($content) . "\r\n";
$packetString .= "HOST: twitter.com\r\n";
$packetString .= "\r\n" . $content . "\r\n";

$sock = fsockopen('twitter.com', 80);
fwrite($sock, $packetString);
//This is some logging, to a local file so I can monitor local what's going on
$response = fread($sock, 10240);
fwrite($fh, $packetString . "\r\n\r\n\r\n" . trim($response) . "\r\n\r\n\r\nD:\r\n" . $d);
fclose($fh);

Burada eylem görebilirsiniz: http://twitter.com/fmsvn Ben Twitter Yem projelere SVN mesajları ilanıyla SVN sunucusundan bir geri kullanarak.

$twitter = file_get_content("http://user:password@twitter.com/blabla");

more about native HTTP Wrapper support in PHP