首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LightOpenID获取谷歌联系人?

使用LightOpenID获取谷歌联系人?
EN

Stack Overflow用户
提问于 2012-06-24 19:04:43
回答 3查看 978关注 0票数 7

我目前正在使用LightOpenID允许用户登录我的网站,在那里我可以自动提取他们的用户名和电子邮件地址:

代码语言:javascript
复制
$openid->required = array('namePerson/first', 'namePerson/last', 'contact/email');
$openid->identity = 'https://www.google.com/accounts/o8/id';

在这里,我使用了参数namePerson/firstnamePerson/lastcontact/email

我知道为了获得用户联系人列表,我必须使用提要:

代码语言:javascript
复制
https://www.google.com/m8/feeds

但是,我似乎不知道需要使用哪些参数来完成此任务?

如果我完全删除参数行,我只会得到一个空数组。

有没有人能帮我弄清楚需要哪些参数才能获得这些联系人?

下面是我的当前代码:

代码语言:javascript
复制
<?php
    require '/var/www/libraries/openid.php';

    try {

        $openid = new LightOpenID;

        if(!$openid->mode) {

            //$openid->required = array('gd/fullName');
            $openid->identity = 'https://www.google.com/m8/feeds/contacts/oshirowanen.y%40gmail.com/full';
            header('Location: ' . $openid->authUrl());
            exit;

        } elseif($openid->mode == 'cancel') {

            echo "cancelled";
            exit;

        } else {

            if ( $openid->validate() ) {

                $returned = $openid->getAttributes();
                print_r($returned);

                exit;

            } else {

                echo "something is wrong";
                exit;

            }

        }

    } catch(ErrorException $e) {

        echo $e->getMessage();

    }
?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-02 07:10:45

你不能用LightOpenID做到这一点,因为它只实现了OpenID协议。

为此,您需要使用OAuth (2.0)协议。每个the docs

关于授权协议

我们建议使用OAuth 2.0对请求进行授权。

如果您的应用程序具有某些不寻常的授权要求,例如在请求数据访问(混合)或授权的全域委派(2LO)的同时登录,那么您当前不能使用OAuth 2.0令牌。在这种情况下,您必须改用API1.0令牌和OAuth密钥。您可以在Google API控制台的API Access窗格的Simple API Access部分找到应用程序的API。

票数 5
EN

Stack Overflow用户

发布于 2012-06-29 03:38:00

Per the docs

正在检索所有联系人

要检索用户的所有联系人,请向以下URL发送授权的GET请求:

https://www.google.com/m8/feeds/contacts/{userEmail}/full

用适当的值代替userEmail。

注意:特殊的userEmail值default可用于指代通过身份验证的用户。

票数 0
EN

Stack Overflow用户

发布于 2012-08-09 00:15:19

根据文档应该是可能的:https://developers.google.com/accounts/docs/OpenID

OpenID+OAuth混合协议允许web开发人员将OpenID请求与OAuth身份验证请求组合在一起。这个扩展对于同时使用OpenID和OAuth的web开发人员很有用,特别是它通过请求用户批准一次而不是两次来简化用户的过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11176915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档