我正试图通过以下方式获取Google Plus圈子中的人数:
$gplus_data = wp_remote_get('https://www.googleapis.com/plus/v1/people/'.$googleplus_user.'?key='.$api_key);
$gplus_data = json_decode($gplus_data['body'],true);
$gplus_count = $gplus_data['circledByCount'];
但是我在最后一行得到了一个错误。
json
对象如下:
{
"kind": "plus#person",
"etag": "\"pSkIL41GT2wmAdFX5kPW-Rf7v4A/dRTsk1U7uBI-ekf4-a2fEZl8eGs\"",
"urls": [
{
"value": "",
"label": ""
}
],
"objectType": "page",
"id": "",
"displayName": "",
"tagline": "",
"aboutMe": "",
"url": "",
"image": {
"url": ""
},
"isPlusUser": true,
"plusOneCount": 22556,
"circledByCount": 1398,
"verified": false,
"cover": {
"layout": "banner",
"coverPhoto": {
"url": "",
"height": 528,
"width": 940
},
"coverInfo": {
"topImageOffset": -126,
"leftImageOffset": 0
}
}
}
怎么了?
答案 0 :(得分:0)
API不会为普通用户个人资料返回circledByCount
值,仅返回G +页面。甚至不在developers page Try it section。
根据这个release note,我强调:
2012年11月发布
向人力资源
添加了以下属性
- [...]
- plusOneCount(仅适用于Google+信息页)
- circledByCount(仅适用于Google+信息页)
你的最后一行应该是:
$gplus_count = isset( $gplus_data['circledByCount'] ) ? $gplus_data['circledByCount'] : '';
我测试了这段代码:
$g_user = USER_ID;
$api_key = API_KEY;
$url = 'https://www.googleapis.com/plus/v1/people/'.$g_user.'?key='.$api_key;
$response = wp_remote_get( $url );
if ( ! is_wp_error( $response ) )
{
$body = json_decode( wp_remote_retrieve_body( $response ), true );
var_dump( $body );
}
elseif( isset($response['body']['error'] ) )
{
var_dump( $response['body']['error'] );
}