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 年第一季度,您将获得所有用户的空圈数据。

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

于 2016-09-20T13:41:27.077 回答
0

身份验证权限屏幕只是一个标准屏幕。它没有具体说明您可以访问哪些方法。在这种情况下,您应该检查文档

人员列表

授权
此请求需要至少具有以下范围之一的授权(阅读有关身份验证和授权的更多信息)。
范围https://www.googleapis.com/auth/plus.login

只要您发送了 plus.login 范围并且用户接受它,您就可以使用 people.list 方法。我实际上认为“ Basic profile info”是您正在寻找的那个,它使您可以访问用户的许多一般 Google Plus 信息。

旁注:您应该尝试发送电子邮件范围或配置文件。如果记忆服务他们都只是声明“ offline Access”,IMO对用户的误导更大。

于 2016-09-20T10:19:22.920 回答