2011-11-18 200 views
3

因此,我正在處理一個簡單的電子郵件導入腳本,從本網站上的帖子所說的那些帖子來看,那些用於銷售的腳本要麼是狡猾的,要麼是不值得花費的錢,而且據我所知,PHP, JS我認爲這是不難的,畢竟我已經與Twitter API和Facebook API合作過。Yahoo聯繫API

但是我似乎在路上遇到了一個小顛簸。

你看我使用雅虎自己的腳本Yahoo.inc - http://developer.yahoo.com/social/sdk/php/

,一切都進展順利,成爲可能。但是,當我嘗試獲取聯繫人時,我似乎無法做到。現在我已經在我的應用程序的API設置中請求聯繫人的讀取請求,所以我不知道這個問題。

這裏是我的代碼,我使用

$contacts = $user->getContacts(); 

不過就像我失去了一些東西,但不知道它好像不工作的工作:(

它是什麼。

可能有人請幫助從正確的方式獲得Yahoo提供的getContacts函數的電子郵件。

+0

這是什麼運氣?這是讓我瘋了http://stackoverflow.com/questions/30919089/yahoo-php-sdk-getcontacts-intermittently-works – Dan

回答

4

而不是getContacts(),您可以使用yql查詢:

$session = YahooSession::requireSession(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_APP_ID); 
$query = sprintf("select * from social.contacts where guid=me;"); 
$response = $session->query($query); 


/**** printing the contact emails starts ****/ 
if(isset($response)){ 

    foreach($response->query->results->contact as $id){ 

     foreach($id->fields as $subid){ 

       if($subid->type == 'email') 
       echo $subid->value."<br />"; 
     } 
    } 
} 
/**** printing the contact emails ends ****/ 
+0

我會試試這個 - 讓你知道 – RussellHarrower

+0

@RussellHarrower:你讓它工作? – mithunsatheesh

1

查看github,您可以看到yahoo-yos-php軟件包已棄用。它將被替換爲yahoo-yos-php5包。也許你應該下載並嘗試使用它。

順便說一句,當yahoo-yos-php5使用YQL查詢時,yahoo-yos-php使用YOS API調用(doc)來獲取數據。 因此,使用新軟件包的最終結果與僅包含在yahoo發行版中的@mithunsatheesh解決方案相同。

這裏是一個link到類和函數本身:

public function getContacts($guid = null, $offset = 0, $limit = 10) 
{ 
    if($guid == null && !is_null($this->token)) 
    { 
    $guid = $this->token->yahoo_guid; 
    } 

    $rsp = $this->yql(sprintf('SELECT * FROM social.contacts(%s,%s) WHERE guid="%s"', $offset, $limit, $guid)); 

    return isset($rsp->query->results) ? $rsp->query->results : false; 
} 
0

搜尋此方法getContacts()從雅虎API文件(即Yahoo.inc),並增加限制500最初,它是10.