授权谷歌使用scribe没有得到如何获取谷歌联系人

时间:2012-11-28 03:04:42

标签: java struts2 scribe

我想从gmail获取联系人。为此我使用GoogleExample.java使用Sribe 哪个工作正常并给我令牌。 对于授权,它给我链接 https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token= **

我正在与谷歌成功进行连接过程,

1)我想从他的帐户中获取用户联系人我没有得到它如何做到这一点。请提供任何示例

2)对于授权我必须手动复制链接我不想手动完成。

使用struts2开发此项目。

1 个答案:

答案 0 :(得分:1)

您不需要手动进行授权,在抄写中这已经完成了演示目的,您可以这样做。

按照以下提及步骤

  1. 创建一个向Google API创建请求的Controller,您需要传递api_key,secret并且可以将redirect_url与其他信息一起传递。
  2. 将用户重定向到Google并让他/她授权您的应用
  3. 重定向网址告知任何OAuth / OpenID提供商在他/她授权/拒绝您的应用后将用户重定向到哪里

    重定向后,Google将为您提供授权令牌。您可以连接到Google API以获取用户联系人

    这是一个演示代码,一旦用户重定向回您的网站,您就可以从Google获取数据

    Verifier verifier = new Verifier(oauth_verifier);
    Token accessToken = oAuthGetAccessToken.getAccessToken((Token) session.get(OAuthConstants.REQUEST_TOKEN), verifier, service);
    service.signRequest(accessToken, request);
    Response response = request.send();
    

    实际发生了什么,我们在用户重定向时借助Google发送的验证者令牌创建了验证程序,我们从内部获取了access_token作为访问用户数据的密钥,最后我们发送了请求Google API获取数据。

    请务必在初始请求中设置范围,告知服务提供商您要从用户个人资料中访问的所有数据。