2013-09-26 1 views
5

Twitter'da bir hashtag kullanılma sayısı için toplam sayımın nasıl döndürüleceğini belirleyen bir sorun yaşıyorum. Geçmişte işe yarayan aşağıdaki kodu kullandım ancak "http://search.twitter.com/search.json" adresi Twitter tarafından emekli oldu. Eski kodu:Twitter API 1.1 Hashtag Count

<?php 
    global $total, $hashtag; 
    //$hashtag = '#supportvisitbogor2011'; 
    $hashtag = '#MyHashtag'; 
    $total = 0; 
    function getTweets($hash_tag, $page) { 
     global $total, $hashtag; 
     $url = 'http://search.twitter.com/search.json?q='.urlencode($hash_tag).'&'; 
     $url .= 'page='.$page;  
     $ch = curl_init($url); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); 
     $json = curl_exec ($ch); 
     curl_close ($ch); 
     //echo "<pre>";  
     //$json_decode = json_decode($json); 
     //print_r($json_decode->results); 

     $json_decode = json_decode($json);   
     $total += count($json_decode->results);  
     if($json_decode->next_page){ 
     $temp = explode("&",$json_decode->next_page);   
     $p = explode("=",$temp[0]);     
     getTweets($hashtag,$p[1]); 
     }   
    } 

    getTweets($hashtag,1); 

    echo $total; 
?> 

Sana bir yetkili twitter uygulamasını kullanmak ve veri çekme muktedir erişimine sahip olması bildiğini de biliyorum. Uygulamayı ayarlayabildim ve aşağıdaki kodu kullanarak bir veri listesi alabiliyorum ama bu verileri toplam sayımla nasıl kullanacağımı bilmiyorum. Birisi bana sahip olduğum kodu değiştirerek veya bu konuda nasıl gitmem gerektiğiyle ilgili bana yardımcı olmak için bana yardımcı olabilir. İşte hashtag veri çeken Ben kod:

<?php 
session_start(); 
require_once("twitteroauth.php"); //Path to twitteroauth library 

$hashtag = "MyHashtag"; 
$consumerkey = "MYINFOWOULDBEHERE"; 
$consumersecret = "MYINFOWOULDBEHERE"; 
$accesstoken = "MYINFOWOULDBEHERE"; 
$accesstokensecret = "MYINFOWOULDBEHERE"; 

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) { 
    $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret); 
    return $connection; 
} 

$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); 

$tweets = $connection->get("https://api.twitter.com/1.1/search/tweets.json?q=".$hashtag); 

echo json_encode($tweets); 
?> 

cevap

4

İşte this yapılan Heyecan 1.1 API için bir örnektir. Şunu aklından çıkarma:

uzantısı Twitter'ın arama hizmeti ve, Arama API Tweets kapsamlı bir kaynağı olduğu anlamına gelmez unutmayın. Tweetler endekslenecek veya arama arayüzü üzerinden temin edilecektir.

https://dev.twitter.com/docs/api/1.1/get/search/tweets

  1. İndir twitter-api-php ve twitter-api-php sahip aynı klasördeki bir dosyayı twitter_search.php (oluşturma sunucuya
  2. Create a Developer Account and an Application
  3. adresinden klasöre ayıklamak)
  4. Jetonlarınızı ve anahtarlarınızı twitter_search.php numaralı telefona ekleyin

twitter_search.php:

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

/** Note: Set the GET field BEFORE calling buildOauth(); **/ 
$url = 'https://api.twitter.com/1.1/search/tweets.json'; 
$requestMethod = 'GET'; 
$hashtag = 'twitterapi'; 
$getfield = '?q=%23'.$hashtag.'&result_type=recent&include_entities=true&count=100'; 

// Perform the request 
$twitter = new TwitterAPIExchange($settings); 
$json_output = $twitter->setGetfield($getfield) 
      ->buildOauth($url, $requestMethod) 
      ->performRequest(); 

// Let's calculate how many results we got 
$json = json_decode($json_output); 
$n = count($json->statuses); 
echo $n; 
?> 

Using the Twitter Search API

I posted originally this example in here.

İlgili konular