0

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

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

1)我想从他的帐户中获取用户联系人我不知道该怎么做。请提供任何示例

2)为了授权,我必须手动复制链接,我不想手动进行。

使用 struts2 开发这个项目。

4

1 回答 1

1

您不需要手动进行授权,在 scribe 中,这是为了演示目的而完成的,您有办法做到这一点。

按照下面提到的步骤

  1. 创建一个向 Google API 创建请求的控制器,您需要传递 api_key、secret 并且可以传递 redirect_url 和其他信息。
  2. 将用户重定向到 Google 并让他/她授权您的应用程序

重定向 URL 告诉任何 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 内部获取了它作为访问用户数据的密钥,最后我们向 Google API 发送请求以获取数据。

请务必在您的初始请求中设置范围,告诉服务提供商您想从用户配置文件中访问哪些数据。

于 2012-11-28T05:18:43.510 回答