表示されている Google+ 接続を取得しようとしています。ドキュメントhttps://developers.google.com/+/web/samples/phpを参照すると、「plus.login」スコープを追加すると、G+ 接続、年齢範囲、および言語が取得されることが明らかです。
しかし、私の場合、このスコープは年齢層と言語を取得するための許可のみを求めます。G+ 接続を取得できません。
アプリケーションで google-api-php-client を使用してみました。また、新規申請書に記載されているクイック スタート ガイドに従いましたが、アクセス許可ページには、サークル許可に G+ 接続が含まれていません。
コードの一部は以下です
define('SCOPES', implode(' ',array(
Google_Service_Plus::PLUS_ME, Google_Service_Plus::PLUS_LOGIN,Google_Service_Plus::USERINFO_EMAIL, Google_Service_People::CONTACTS
))
);
Class GoogleClient {
function getClient() {
$client = new Google_Client();
$client->setApplicationName(APPLICATION_NAME);
$client->setScopes(SCOPES);
$client->setAuthConfig(CLIENT_SECRET_PATH);
$client->setAccessType('offline');
$this->authUrl = $client->createAuthUrl();
上記で作成した AuthUrl にリダイレクトすると、図に表示されている権限が要求されます
$plusConnections = new \Google_Service_Plus($client);
$optParamsConnections = ['maxResults' => 99];
$_people = $plusConnections->people->listPeople('me', 'visible', $optParamsConnections);
$_people はデータを取得しません。ただし、同じユーザーが Google API エクスプローラーで試行すると、接続が取得されます
この奇妙な動作の理由とそれを解決する方法についての提案