【问题标题】:Getting a 403 trying to list directory users获取 403 尝试列出目录用户
【发布时间】:2020-06-03 06:36:54
【问题描述】:

我正在尝试使用以下端点 https://www.googleapis.com/admin/directory/v1/users 访问我的组织目录列表,其中 viewType 设置为 domain_public,我的组织集和 https://www.googleapis.com/auth/admin.directory.user.readonly 范围。

但是每次我尝试我都会得到

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

我已经与我的 GSuite 管理员核对过,并且目录功能和联系人共享都已打开,这样做已经 24 小时了,我正在通过“尝试此 api”功能执行此操作,所以我知道令牌是不错。

我的管理员是否必须启用任何其他设置才能使其正常工作?我尝试使用我昨天为另一家公司设置的全新 GSuite 帐户,它似乎只是为他们解决了问题......

【问题讨论】:

    标签: google-admin-sdk google-workspace


    【解决方案1】:

    当收到 Admin SDK 的 403 错误时,需要考虑几个可能的原因

    • 非管理员用户是否尝试使用仅供管理员使用的 Admin SDK 方法?
    • 非管理员用户是否尝试使用 Admin SDK 方法而不指定 viewType: domain_public
    • 非管理员用户是否使用未启用 Admin SDK 的 GCP 项目?
    • 您是否使用多个帐户登录到浏览器会话(浏览器默默地更改您的活动会话帐户是一个常见问题)?
    • 请求是否由服务帐户执行(常见的授权问题)?
    • 您的请求中是否包含trailing commas
    • 尝试执行请求的管理员用户是否没有在管理控制台中分配必要的权限?
    • 请求的范围设置是否正确?

    如果上述原因均不适用,并且问题仅出现在非常特定的域中,则可能是域本身存在问题。

    在这种情况下,请联系GSuite Support进行故障排除。

    【讨论】:

    • 根据文档,domain_public 标志可以让非管理员用户查看用户:developers.google.com/admin-sdk/directory/v1/guides/…
    • 您为用户分配了哪些范围?也许您可以显示您的相关代码?
    • 我现在只是在 Google 文档 developers.google.com/admin-sdk/directory/v1/reference/users/… 中使用“试用此 API”功能,我将我正在使用的范围添加到我原来的问题 https://www.googleapis.com/auth/admin.directory.user.readonly
    • 我没有意识到您使用的是公开可用的方法。现在我想我可以看到问题的真正原因:您是否在 GCP 控制台中为新用户创建了 GCP 项目并在 Admin SDK 中为此项目启用?
    • 是的,我已经为我的项目做到了。我认为您不需要“试用此 API”功能吗?这对我提到的其他 GSuite 组织很有效
    猜你喜欢
    • 2015-04-14
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2019-11-19
    • 2017-01-04
    相关资源
    最近更新 更多