2016-03-07 29 views
1

我正在使用twitter API(https://api.twitter.com/1.1/users/search.json)。當我使用GET請求請求用戶記錄時,我只是獲取json前20條記錄中的第一頁記錄,但我想要輸入任何特定名稱的所有記錄。如何擴展該請求,並將它們存儲在數據庫如何使用laravel從twitter API獲取所有可用用戶搜索記錄

public function getTwitter() { 
    $settings = array(
     'oauth_access_token'  => "xxxxxxxxxxxxxx", 
     'oauth_access_token_secret' => "xxxxxxxxxxxxxxxx", 
     'consumer_key'    => "xxxxxxxxxxxxxxxxxxxxx", 
     'consumer_secret'   => "xxxxxxxxxxxxxxxxxxxxxxx", 

    ); 


    $url   = 'https://api.twitter.com/1.1/users/search.json'; 
    $getfield  = '?q=name to search'; 
    $requestMethod = 'GET'; 

    $twitter = new TwitterAPIExchange($settings); 
    $users = $twitter->setGetfield($getfield) 
     ->buildOauth($url, $requestMethod) 
     ->performRequest(); 

    $users = json_decode($users, true); 
    // var_dump($users);die(); 
    for ($i = 0; $i <= 19; $i++) { 
     $twitter   = new twitter_user(); 
     $twitter->user_id = $users[$i]['id']; 
     $twitter->name  = $users[$i]['name']; 
     $twitter->sname = $users[$i]['screen_name']; 
     $twitter->location = $users[$i]['location']; 
     $twitter->save(); 

    } 

    echo "Data saved"; 
} 

,因爲它給了我20個記錄我要動態地訪問所有可用的記錄,我用這for循環,直到19。

回答

1
public function full_Record($page){ 

    $settings = array(
     'oauth_access_token' => "xxxxxxxxxxxxxxxxxxxxxxx", 
     'oauth_access_token_secret' => "xxxxxxxxxxxxxxxxxxxx", 
     'consumer_key' => "xxxxxxxxxxxxxxxxxxxxxxxxxxx", 
     'consumer_secret' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
     ); 
    $url = 'https://api.twitter.com/1.1/users/search.json'; 
    $getfield = '?q=john&page='. $page; 
    $requestMethod = 'GET'; 

    $twitter = new TwitterAPIExchange($settings); 
    $users = $twitter->setGetfield($getfield) 
      ->buildOauth($url, $requestMethod) 
      ->performRequest(); 

    $users = json_decode($users,true); 
    if(empty($users)){ 


     echo "Data saved less data available"; 
    } 
    else{ 

      for($i=0;$i<=19;$i++){ 

       $twitter=new twitter_user(); 
       $twitter->user_id=$users[$i]['id']; 
       $twitter->name=$users[$i]['name']; 
       $twitter->sname=$users[$i]['screen_name']; 
       $twitter->location=$users[$i]['location']; 
       $twitter->save(); 

      } 

       $page++; 
       $this->full_Record($page);     

      else{ 
       echo "Data Saved ok"; 
      } 

    } 

此代碼的工作按規定

相關問題