0

我需要知道如何从特定用户那里获取文件,该用户使用...进行身份验证

    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();

当用户通过身份验证时,我需要从 google docs 获取文档。我知道我必须使用 OAuth,但我无法正确使用它。

我希望有人可以帮助我,谢谢。

4

3 回答 3

1

如果我已经有用户登录,我该如何获取他的文档

这是一个很好的参考资料,比我自己提供的信息要多得多:

http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html

这应该让你走上正确的道路。

于 2011-08-02T19:31:00.947 回答
0
  1. 首先使用例如路标库执行 oauth 部分:这是一个示例 (查看 Google 的示例代码)
  2. 在步骤 1 中完成 oauth 过程后;并存储 ACCESS_TOKEN 和 TOKEN_SECRET 你可以访问谷歌文档服务,如下面的代码片段。

(注意:CONSUMER_KEY 和 CONSUMER_SECRET 是您从 google 获得并在步骤 1 中使用的。ACCESS_TOKEN 和 TOKEN_SECRET 是您在步骤 1 中完成 oauth 过程后由 google auth 服务器发送给您的秘密访问令牌)

希望这可以帮助。

GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
  oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
  oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
  oauthParameters.setOAuthToken(ACCESS_TOKEN);
  oauthParameters.setOAuthTokenSecret(TOKEN_SECRET);

  DocsService client = new DocsService("yourCompany-YourAppName-v1");
  client.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());

  URL feedUrl = new URL("https://docs.google.com/feeds/default/private/full");
  DocumentListFeed resultFeed = client.getFeed(feedUrl, DocumentListFeed.class);
  for (DocumentListEntry entry : resultFeed.getEntries()) {
    System.out.println(entry.getTitle().getPlainText());
  }
于 2011-08-06T06:11:02.853 回答
0

用户已通过 App Engine 的身份验证,但他们尚未针对任何其他服务进行身份验证,也未向您提供对它们的访问权限。您不能使用他们的 App Engine 凭据访问任何其他服务;您需要遵循标准的 OAuth 授权程序才能访问该用户拥有的任何其他服务。

于 2011-08-03T00:51:54.347 回答