0

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
  }
 }
}

どうしたの?

4

1 に答える 1

0

このcircledByCount値は、通常のユーザー プロフィールの API によって返されるのではなく、G+ ページに対してのみ返されます。開発者ページにもありません試してみるセクション

このリリースノートによると、私の強調点は次のとおりです。

2012 年 11 月リリース

次のプロパティを people リソースに追加しました

  • [...]
  • 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'] );
}
于 2013-09-18T14:26:24.410 に答える