1

我查看了developers.google的一些文档和stackoverflow中的一些问题,我真的很想找到一个客观的答案,关于使用谷歌OAuth服务器对应用程序进行身份验证并授予将文档下载到谷歌驱动器帐户的访问权限,没有浏览器交互。

据我所知,诸如“将 OAuth 2.0 用于服务器到服务器应用程序”、“将 OAuth 2.0 用于设备”之类的文档,在这里回答,我找不到一篇文章说“可以授权应用程序从没有浏览器的设备中的通用 Google Drive 帐户..."。

有人在这个jorney尝试过并取得成功吗?

4

2 回答 2

2

设备流程适用于在没有浏览器的设备上运行的应用程序(精彩示例可能是显示新 G+ 通知的手表),并要求用户在有浏览器的设备上执行手动步骤。这也是为了访问用户帐户上的数据。

更新

正如您所说,您有一个嵌入式应用程序在没有可用浏览器的情况下运行,并且希望代表用户访问数据,这绝对是要走的路。然而,这仍然需要用户使用浏览器在另一台设备上登录(一次)。使用此流程获得访问令牌后,您可以手动或使用某些库访问Google Drive API 。

因此,您想访问属于特殊帐户的 Google Drive 上的数据,并且只有您的应用程序可以在不涉及浏览器的情况下访问它?

服务帐户服务器到服务器流程)正是您所需要的。但是,这些用于在 Web 服务器上使用,否则您的私钥文件必须部署到客户端,在那里可以轻松提取它。

您可以做的一件事是使用您自己的网络服务器,该服务器使用服务帐户从您的 Google 帐户获取数据,并拥有一个仅连接到您自己的网络服务器的客户端应用程序。当然,这也有其缺点,尤其是在锁定您的 Web 服务器以使第三方客户端无法访问它时。

于 2012-09-27T15:05:38.763 回答
0

可以,但需要使用浏览器。我已经成功地让 OAuth 2.0 在没有浏览器的 IBM i(AS/400、iSeries、System i,无论现在叫什么名字)上运行。到目前为止,我已经实现了 Calendar 和 Google Cloud Print API。

在 OAuth 2.0 协商期间,您将收到一个 URL 和一个代码。您需要显示用户要访问的 URL,然后输入代码以授予该特定 API/范围的权限。我在这里的文档中有一个示例:

http://docs.bvstools.com/home/greentools-for-google-apps/docs/g4g-base-commands/g4gregsvc

但是,现在的问题是驱动 API 还不能用于设备。但是,谷歌已经表示应该很快。

于 2013-04-23T13:27:38.950 回答