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