SORU
16 EKİM 2012, Salı


En basit Twitter API ile alınıyor user_timeline örneğin sürüm 1.1 PHP

Twitter yüzünden June 11th 2013 artık çalışmıyor aşağıda script 1.0 emeklilik API.

// Create curl resource 
$ch = curl_init(); 
// Set url 
curl_setopt($ch, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/myscreenname.json?count=10"); 
// Return the transfer as a string 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// $output contains the output string 
$output = curl_exec($ch); 
// Close curl resource to free up system resources 
curl_close($ch);

if ($output) 
{
    $tweets = json_decode($output,true);

    foreach ($tweets as $tweet)
    {
        print_r($tweet);
    }
}

Ne kadar az kod ile mümkün (son durumlar) user_timeline alabilir miyim?

Bunu buldum: https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline ama aşağıdaki hatayı alıyorum:

"{"errors":[{"message":"Could not authenticate you","code":32}]}"

Orada bir çok dersler dışarıda ama sonra çalışırken birkaç hiçbiri gibi gözüküyor çünkü bu güncellemeler, Twitter, artı bazıları oldukça gelişmiş sınıfları ile çok işlevselliği bilmiyorum gerçekten ihtiyacım var.

Son kullanıcı PHP ile durumları elde etmek için en kolay/en kısa yolu nedir?

CEVAP
9 Mart 2013, CUMARTESİ


Twitter v1 kullanmak istiyorsun.1 API?

Note: the files for these are on GitHub.

1.0 will soon be deprecated ve izinsiz sürüm istekleri izin vermiyor. Yani, burada sadece hayatınızı kolaylaştırmak için bir PHP sınıfı ile birlikte, bunu yapmak yardımcı olmak için bir yazı.

1. Geliştirici hesabı oluşturmak:Twitter developer account hazırla kendini

Resmi Twitter geliştirici sitesini ziyaret edin ve geliştirici bir hesap için kayıt olmanız gerekir. Bu birücretsizve gerekli v1 için isteklerini yapmak için adım.1 API.

2. Bir uygulama oluşturun:Twitter geliştirici sitesinde bir uygulama oluşturun

Ne? Kimliği doğrulanmamış isteklerini düşündün, öyle mi? V1 Twitter ile değil.1 API. http://dev.twitter.com/apps ve tıklatın "Uygulama Oluştur" butonuna basın. ziyaret etmek gerekir

Enter image description here

Bu sayfada, sana bırakıyorum. Benim için, ben sadece spam takipçileri kurtulmak için blok isteklerinin bir yük yapmak istedim çünkü fark eden bir şey yoktu. Noktasını Kendin alacaksınbenzersiz anahtaruygulamanız için kullanın.

Yani, bir uygulama oluşturmak amacı kendini (ve Twitter) anahtarları ver. Bunlar:

  • Tüketici anahtarı
  • Tüketici sırrını
  • Erişim simgesi
  • Erişim belirteci gizli

Bu belirteçler ne here bilgi biraz var.

3. Erişim belirteçleri oluşturmakBu başarılı isteklerini yapmak gerekir

OAuth istekleri birkaç Hatıra. Onları sizin için oluşturulmuş olması gerekir.

Enter image description here

Tıklayın "my access token oluşturma" altında. Daha sonra altına tekrar gidin sonra, yeni oluşturulan bazı tuşlar olacak. API aramaları için bu sayfadan daha önce etiketlenmiş dört anahtarları alıp, onları bir yere not yapmak gerekir.

4. Erişim düzeyini değiştir: Salt okunur yapmak istemiyor musun?

Eğer bu API her insana yakışır bir şekilde kullanmak istiyorsanız, her şeyi standart veri alma GET istekleri dışında yapıyorsan ayarlarınızı Okuma Ve Yazma değiştirmeniz gereklidir.

Enter image description here

"Ayarlar" sayfasının üst kısmındaki sekmesini. seçin

Enter image description here

Uygulamanız okuma / yazma erişimi ve dibinde bulunan". Güncelleme dokun

İşte Twitter kullanan 25**.


5. Kod API erişmek için yazıyorumSenin için çoğunu yaptım

Yukarıdaki kod, çok basit gerekli istekleri oluşturmak için bir PHP sınıfı içine bazı değişiklikler ve değişiklikleri ile birlikte.

Bu kullanırOAuthveTwitter v1.1 APIaşağıda bulabileceğiniz oluşturduk.

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"
);

Kendi alanlarında üstünde uygulama var anahtarları koymak emin olun.

Bir URL seçmeniz gerekiyor gelecek için bir istek yapmak istiyorum. Twitter var onlarınAPI documentationhangi URL de isteği tipi (POST veya GET) seçmenize yardımcı olacak.

/** 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';

Belgelerde, her bir URL için geçiş yapabileceğini belirtiyor. Eğer "" URL, iletebilir yukarıdaki gibi aşağıdaki YAZI parametreleri: . blokları kullanarak olursak

/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
    'screen_name' => 'usernameToBlock', 
    'skip_status' => '1'
);

API ile ne yapmak istediğinizi ayarladıktan sonra o, gerçek bir istek yapmanın zamanı geldi.

/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
             ->setPostfields($postfields)
             ->performRequest();

Ve bir içinPOSTistek, hepsi bu!

Bir içinOLSUNistek, biraz farklı. İşte size 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: Basit ve benim takipçileri için bir liste. GET isteği

$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();  

I've put these files on GitHub@lackovic10 kredi ve @nehirler! Birisi yararlı olacağını umuyorum; ben mi biliyorum (toplu bir döngü engelleme için kullandım).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FD2097

    FD2097

    21 HAZİRAN 2009
  • We've moved!

    We've moved!

    7 Ocak 2008
  • sk8ingis4me

    sk8ingis4me

    16 Mart 2006