代码之家  ›  专栏  ›  技术社区  ›  Gunnrryy

谷歌+scope PLUS。登录时不要求Google Circle Connection权限

  •  2
  • Gunnrryy  · 技术社区  · 9 年前

    我正在尝试获取可见的Google+连接。 通过参考文档 https://developers.google.com/+/web/samples/php , 很明显,在添加“plus”时。login的作用域获取G+连接、年龄范围和语言。

    但在我的例子中,这个范围只要求获取年龄范围和语言的权限。我无法获取G+连接。

    我尝试在应用程序中使用google-api-php客户端。还遵循了新应用程序中提到的快速入门指南,但访问权限页面不包括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);
    

    $_people没有任何数据。但是,对于同一用户,当在GoogleAPI浏览器上尝试时,会检索连接

    有什么建议吗?为什么会出现这种奇怪的行为?如何解决 谢谢

    2 回复  |  直到 9 年前
        1
  •  2
  •   Eric Koleda    9 年前

    plus.login People.list 端点本身已被弃用:

    Google+People API列表端点已被弃用。过去 https://www.googleapis.com/auth/plus.login 范围允许访问用户圈子中的人员列表,以及他们的姓名和个人资料信息。从2016年9月开始,新的额外拨款。登录范围将只允许访问用户名和个人资料信息;对API的调用将为这些新登录返回空圈数据。2017年第一季度,您将为所有用户返回空圈数据。

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

        2
  •  0
  •   Linda Lawton - DaImTo    9 年前

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

    People.list

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

    只要你发送了加号。登录范围,用户接受它,您就可以使用这些人。列表方法。我真的认为“ Basic profile info “是你正在寻找的,它让你可以为用户访问许多Google Plus的一般信息。

    旁注:您应该尝试发送电子邮件范围或个人资料。如果内存服务,它们都只声明“ offline Access “IMO对用户的误导更大。