Google加上API计数调用失败
Google Plus API Count Call Failing
我已经创建了一个 POST 请求以从 Google Plus 中提取特定 URL 的共享计数,但无法返回任何计数值。
我是要走很远的路还是有更简单的方法来检索这些数据,例如 Facebook 和 Twitter 提供一个 URL,你将 URL 传递给你想要的检索其共享计数,它 returns 结果为 JSON 格式!?
GOOGLE_API_KEY
id 我从 Google 的 Google+ API
.
开发者控制台获得的密钥的已定义变量
$vRequest = '[{"method":"pos.plusones.get",
"id":"p",
"params":{
"nolog":true,
"id":"http://www.google.com",
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"}]';
$vUrl = "https://clients6.google.com/rpc?key=".GOOGLE_API_KEY;
$vOptions = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => $vRequest,
),
);
$vContext = stream_context_create($vOptions);
$vResponse = json_decode(@file_get_contents($vUrl, false, $vContext));
我得到的 JSON 回复是:
array(1) {
[0]=> object(stdClass)#1 (2) {
["error"]=> object(stdClass)#2 (3) {
["code"]=> int(403)
["message"]=> string(143) "Access Not Configured. The API (+1 API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
["data"]=> array(1) {
[0]=> object(stdClass)#3 (4) {
["domain"]=> string(11) "usageLimits"
["reason"]=> string(19) "accessNotConfigured"
["message"]=> string(143) "Access Not Configured. The API (+1 API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
["extendedHelp"]=> string(37) "https://console.developers.google.com"
}
}
}
["id"]=> string(1) "p"
}
}
现在我检查了 Google 的 API 控制台,Google+ API
和 Google+ Domains API
都已启用,不确定我还遗漏了什么。
那是私人 API Google 还没有提供给一般 public。您的应用程序未列入使用它的白名单。有一个 open feature request 用于获取 URL.
的 +1 计数
原来我在上面使用的代码不再有效,Google 在 2013 年进行了更改以阻止它被使用,我现在使用的代码是获取大概的共享数下面。
$vHtml = @file_get_contents( "https://plusone.google.com/_/+1/fastbutton?url=".urlencode("http://www.google.com"));
$vDoc = new DOMDocument();
@$vDoc->loadHTML($vHtml);
$vCounter = $vDoc->getElementById('aggregateCount');
echo $vCounter->nodeValue;
在发布这篇文章时,无法从 Google 获取分享数,此外,因为 Google 还没有通过任何 API 提供它。
我已经创建了一个 POST 请求以从 Google Plus 中提取特定 URL 的共享计数,但无法返回任何计数值。
我是要走很远的路还是有更简单的方法来检索这些数据,例如 Facebook 和 Twitter 提供一个 URL,你将 URL 传递给你想要的检索其共享计数,它 returns 结果为 JSON 格式!?
GOOGLE_API_KEY
id 我从 Google 的 Google+ API
.
$vRequest = '[{"method":"pos.plusones.get",
"id":"p",
"params":{
"nolog":true,
"id":"http://www.google.com",
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"}]';
$vUrl = "https://clients6.google.com/rpc?key=".GOOGLE_API_KEY;
$vOptions = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => $vRequest,
),
);
$vContext = stream_context_create($vOptions);
$vResponse = json_decode(@file_get_contents($vUrl, false, $vContext));
我得到的 JSON 回复是:
array(1) {
[0]=> object(stdClass)#1 (2) {
["error"]=> object(stdClass)#2 (3) {
["code"]=> int(403)
["message"]=> string(143) "Access Not Configured. The API (+1 API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
["data"]=> array(1) {
[0]=> object(stdClass)#3 (4) {
["domain"]=> string(11) "usageLimits"
["reason"]=> string(19) "accessNotConfigured"
["message"]=> string(143) "Access Not Configured. The API (+1 API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
["extendedHelp"]=> string(37) "https://console.developers.google.com"
}
}
}
["id"]=> string(1) "p"
}
}
现在我检查了 Google 的 API 控制台,Google+ API
和 Google+ Domains API
都已启用,不确定我还遗漏了什么。
那是私人 API Google 还没有提供给一般 public。您的应用程序未列入使用它的白名单。有一个 open feature request 用于获取 URL.
的 +1 计数原来我在上面使用的代码不再有效,Google 在 2013 年进行了更改以阻止它被使用,我现在使用的代码是获取大概的共享数下面。
$vHtml = @file_get_contents( "https://plusone.google.com/_/+1/fastbutton?url=".urlencode("http://www.google.com"));
$vDoc = new DOMDocument();
@$vDoc->loadHTML($vHtml);
$vCounter = $vDoc->getElementById('aggregateCount');
echo $vCounter->nodeValue;
在发布这篇文章时,无法从 Google 获取分享数,此外,因为 Google 还没有通过任何 API 提供它。