【问题标题】:Yahoo Contact API雅虎联系人 API
【发布时间】:2011-11-18 00:29:22
【问题描述】:

我正在编写一个简单的电子邮件导入器脚本。根据该网站上的帖子所说,待售的要么是狡猾的,要么是不值得花的钱,而且我知道 PHP 和 JS,我认为这并不难,毕竟我使用过 Twitter API和 Facebook API。

但是我似乎在路上遇到了一个小颠簸。

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

一切都尽可能顺利。但是,当我尝试获取联系人时,我似乎无法做到。现在我在我的应用程序的 API 设置中,请求读取联系人请求,所以我知道这不是那个问题。

这是我正在使用的代码

$contacts = $user->getContacts();

但它似乎不起作用,就像我错过了一些东西。从 Yahoo 提供的 getContacts 功能获取电子邮件的正确方法是什么?

【问题讨论】:

标签: php javascript yahoo


【解决方案1】:

您可以使用 yql 查询来代替 getContacts():

$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 ****/

【讨论】:

  • 我会试试这个 - 让你知道
【解决方案2】:

查看 github 可以看到 yahoo-yos-php 包已被弃用。它将被yahoo-yos-php5 包所取代。也许您应该下载它并尝试使用它。

顺便说一句,yahoo-yos-php 使用 YOS API 调用 (doc) 来获取数据,而 yahoo-yos-php5 使用 YQL 查询。 因此,使用新包的最终结果与仅打包在 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;
}

【讨论】:

    【解决方案3】:

    从 yahoo api 文件(即 Yahoo.inc)中搜索此方法 getContacts(),并将限制增加到 500。最初为 10。

    【讨论】:

      猜你喜欢
      • 2021-02-03
      • 1970-01-01
      • 2012-11-23
      • 2020-10-08
      • 1970-01-01
      • 2013-08-20
      • 2013-08-06
      • 2011-11-21
      • 2012-09-07
      相关资源
      最近更新 更多