Google+范围PLUS.LOGIN不要求获得Google Circle Connection权限

时间:2016-09-20 09:40:03

标签: google-api google-plus google-api-php-client google-plus-signin google-php-sdk

我正在努力获取可见的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会导致询问图片中显示的权限

enter image description here

$plusConnections = new \Google_Service_Plus($client);
            $optParamsConnections = ['maxResults' => 99];
            $_people              = $plusConnections->people->listPeople('me', 'visible', $optParamsConnections);

$ _人们没有获得任何数据。但是,对于在Google API资源管理器上试用的同一用户,将重新连接

任何建议为什么这种奇怪的行为以及如何解决它 感谢

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

身份验证权限屏幕只是一个标准屏幕。它没有具体说明您可以访问哪些方法。您应该查看本案例中的文档

People.list

  

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

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

备注:您应该尝试发送电子邮件范围或个人资料。如果内存服务他们都只是说“offline Access”哪个IMO更容易误导用户。