从服务帐户访问 Google 域的 Google 组 - 不断收到 403 未授权

Accessing a Google Domain's Google Groups from a service account - Keep getting 403 unauthorized

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

我正在使用 "domain wide delegation",并且有一个服务帐户,网络应用程序通过该服务帐户向 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"
 }
}

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

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

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

首先,请确保您正确地按照本文 documentation including this steps on how to Instantiate an Admin SDK Directory service object 中的步骤进行操作。

这很重要,因为本文向您展示了如何使用 OAuth 2.0 和您的服务帐户的凭据发出 API 请求,以执行 Google 应用程序域范围的授权。

有关详细信息,请查看这些相关的 SO 问题:

  • Google_Service_Directory - (403) Not Authorized to access this resource/api

  • Received error “Not Authorized to access this resource/api” when trying to use Google Directory API and Service Account Authentication