【问题标题】:Accessing a Google Domain's Google Groups from a service account - Keep getting 403 unauthorized从服务帐户访问 Google 域的 Google 群组 - 不断收到未经授权的 403
【发布时间】:2017-02-23 20:16:09
【问题描述】:

我正在尝试在 Google Api (https://developers.google.com/admin-sdk/directory/v1/reference/groups/list) 中获取域的组列表。

我正在使用“域范围委派”,并且有一个服务帐户,网络应用程序通过该服务帐户向 Google 发出所有请求。 admin-sdk 要求请求用户是管理员,所以我在给定域上模拟管理员用户。

这适用于 (https://developers.google.com/admin-sdk/directory/v1/reference/users/get),但是当我尝试使用组 api 时,它会像这样失败:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Not Authorized to access this resource/api"
   }
  ],
  "code": 403,
  "message": "Not Authorized to access this resource/api"
 }
}

我已检查域管理员的权限已委派给服务帐户。而且我还检查了我是否可以在以域管理员身份登录时访问组列表。

非常感谢任何帮助或提示。 提前致谢

【问题讨论】:

    标签: asp.net google-api google-admin-sdk google-groups-api google-groups-settings


    【解决方案1】:

    您需要添加阅读组的范围。

    【讨论】:

    • 这导致我再次检查范围。它已在域管理员帐户上正确设置,并且在服务帐户上启用了 api。但后来我意识到,在某些时候,我还在创建 JWT 令牌时添加了范围。而这确实解决了问题。
    【解决方案2】:

    首先,请确保您正确执行了此documentation 中的步骤,包括有关如何使用Instantiate an Admin SDK Directory service object 的步骤。

    这一点很重要,因为它向您展示了如何使用 OAuth 2.0 和您的服务帐户的凭据发出 API 请求以执行 Google Apps 域范围的委派。

    有关更多信息,请查看以下相关 SO 问题:

    【讨论】:

    • 谢谢,我确实返回并尝试再次检查设置,但由于它已经与目录/用户一起使用,我知道设置已经在工作。仅不适用于目录/组 api。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2013-08-21
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多