1

好的,所以我现在已经浪费了大约 4 个小时.. 它应该很简单,125 个字符左右,总共 2 到 4 行。最终获取带有 Yahoo 联系人的数组。

我设法使用最新 sdk Yahoo 提供的 simpleauth.php 示例代码成功登录用户。现在,一旦用户登录,我需要运行 YQL:

这是一个yql查询:

select * from social.contacts where guid=me;

它应该返回所有联系人,好的,不能让它工作,因为似乎有更多的东西要添加到以下代码中以使 yql 工作:

$yql_base_url = "http://query.yahooapis.com/v1/yql";  

$yql_query = "select * from social.contacts where guid=me";  

$yql_query_url = $yql_base_url . "?q=" . urlencode($yql_query); 
$yql_query_url .= "&format=json";

$curlParams = array (
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_FOLLOWLOCATION => 0,
  CURLOPT_FAILONERROR => false,
  CURLOPT_SSL_VERIFYPEER => true,
  CURLOPT_HEADER => true,
  CURLOPT_VERBOSE => false,
);

  $ch = curl_init();
curl_setopt_array($ch, $curlParams);
curl_setopt($ch, CURLOPT_URL, $yql_query_url);

 $content = curl_exec ( $ch );  
 print_r($content);

我当然没有得到联系人,而是得到:

 HTTP/1.1 401 Unauthorized
X-YQL-Host: engine2.yql.sp2.yahoo.com
WWW-Authenticate: OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"

它让我发疯,因为它应该以某种方式开箱即用,供人们毫无问题地使用 - 不是 4 小时的研究、编辑和阅读以确定它不会以简单的方式工作。与我已经设法工作的谷歌和微软联系人相反。

看来我应该以某种方式添加我的

$client->setClientId('client_id');
$client->setClientSecret('client_secret');
$client->setRedirectUri('redirect_uri');
$client->setDeveloperKey('developer_key');

到卷曲但我不知道该怎么做。

4

0 回答 0