0

我们正在 Google Apps Marketplace 上构建一个应用程序,该应用程序位于 GMail 之上并读取客户电子邮件以在其之上提供分析。根据我对文档的理解:

  1. 当客户帐户的 IT 管理员安装我的应用程序时,我的应用程序会请求所需的权限,然后将其授予 OU/Org。
  2. 现在我有两种情况:
    • 一个。用户通过 Google+ 登录以访问我网站上的电子邮件
    • 湾。我们的服务在后台运行分析并在必要时提供通知/报告。

我希望能够做到这一点,而无需再次向每个单独的用户询问权限。为所有用户获取特定客户域的电子邮件的方法是什么?如果我遵循正常的“服务器身份验证”流程,我需要一个刷新令牌,我需要 access_type=offline 它总是提示一个授权请求,如果我使用服务帐户,我会收到一个 HTTP 500“后端错误” App Engine 本地开发服务器。

在我投入时间走上任何道路之前,我想确定最佳实践是什么。GMail API 文档讨论了服务对象,但没有提到服务帐户或 AppAssertionCredentials 之类的东西。

4

2 回答 2

0

使用服务帐户是正确的方法,并且可以将其与新的 Gmail API 一起使用。不幸的是,500 错误的描述性不是很强,但请尝试重新阅读服务帐户文档并检查您是否正确设置了所有内容。

于 2014-08-06T13:17:21.913 回答
0

可以使用服务帐户执行此操作,并让域管理员在 cpanel 中将您的应用列入白名单。为了在域中请求 $RANDOM_USER 的凭据,需要对密钥进行一些工作来形成 JWT 声明集,但它在以下位置得到了很好的解释: https ://developers.google.com/accounts/docs/OAuth2ServiceAccount#formingclaimset

完成此操作后,使用 Gmail API 应该与用户直接授予您访问权限时相同。

于 2014-08-14T21:37:22.287 回答