2

表示されている 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 エクスプローラーで試行すると、接続が取得されます

この奇妙な動作の理由とそれを解決する方法についての提案

4

2 に答える 2

2

plus.login接続を取得するスコープの機能とPeople.listエンドポイント自体は非推奨になりました。

Google+ People API リスト エンドポイントは廃止されました。以前は、https://www.googleapis.com/auth/plus.loginスコープにより、名前とプロフィール情報に加えて、ユーザーのサークル内のユーザーのリストへのアクセスが許可されていました。2016 年 9 月以降、plus.login スコープの新しい付与により、ユーザーの名前とプロファイル情報へのアクセスのみが許可されます。API を呼び出すと、これらの新しいサインインに対して空の円のデータが返されます。2017 Q1 では、すべてのユーザーの空の円データが返されます。

https://developers.google.com/+/web/people/#retrieve-a-collection-of-people

于 2016-09-20T13:41:27.077 に答える