好的,所以我现在浪费了大约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');
卷曲但我不知道该怎么做。