2

我正在编写一个网络应用程序,让我们的客户可以将他们在个人 Google Drive 上的文件同步到我们的业务应用程序上。(仅限有限的文件类型)。

所以 - 到目前为止有效:

  • 用户注册到应用程序(使用 OAuth2 并在我的最后保存一个 refreshtoken)用户/和我的应用程序,现在可以访问他们云端硬盘上的文件,并且可以手动调用文件传输。

工作正常。

  • 用户之后可以再次登录并重复此操作,而无需再次验证应用程序。美好的。

  • 同时,我需要某种“服务”,通过我们的应用程序的用户群循环并自动同步指定文件夹中的文件 - 比如说每 10 分钟。

现在由于 OAuth2 模型而遇到问题,需要重定向以验证每个用户。但是我不能从一个请求中进行多次重定向,比如“/SyncAllUsers”。此外,当仅使用一个用户进行测试时,用户仍然必须登录到浏览器会话,否则 google 将重定向到服务登录页面。

(我们使用 chron-job 以指定的时间间隔调用这些方法 - 它与 dropbox-accounts 配合良好,这些用户也使用 OAuth)


所以基本上2个问题:

  • 如何使用我已经授权的应用程序访问我的用户云端硬盘帐户,而无需用户“登录”
  • 以及我应该如何处理同步服务以运行而不必重定向每个用户。

我花了几天时间在https://developers.google.com/drive/和这里寻找答案。我有暗示。来自这里的 OAuth 代码https://developers.google.com/drive/credentials#retrieve_oauth_20_credentials 我修改了它,所以它使用我自己的用户数据库。

在 Google API 控制台中使用 Web 应用程序的客户端 ID 获取您的信息

4

1 回答 1

0

获得刷新令牌后,您可以使用它执行同步而无需用户干预。这是offline访问的本质和刷新令牌的全部目的。

(对不起,如果这不能回答你的问题,我不确定你在问什么,所以请解释更多,我会尽量给你一个不同/更好的答案。)

于 2013-01-28T06:25:23.810 回答