0

最终目标是在使用提供的访问令牌完成 OAuth 身份验证后获取用户组的列表。

在 OAuth 完成后,我目前无法从 Cloud Identity API 中检索组列表。

Cloud Identity - 方法:groups.list 文档

脚步:

  • 转到OAuth 游乐场
  • 使用“ https://www.googleapis.com/auth/cloud-identity.groups.readonly ”在列表底部输入您自己的范围
  • 单击“授权 API”按钮
  • 选择要使用的谷歌帐户
  • 允许“云身份组”
  • 单击“交换令牌的授权码”按钮
  • (可选)“在令牌过期之前自动刷新令牌”。
  • 单击“列出可能的操作” 选择“列出组” - 这将填充请求 URI。点击“发送请求”
GET /v1/groups HTTP/1.1
Host: cloudidentity.googleapis.com
Content-length: 0
Authorization: Bearer [TOKEN]
HTTP/1.1 400 Bad Request
Content-length: 127
X-xss-protection: 0
X-content-type-options: nosniff
Transfer-encoding: chunked
Vary: Origin, X-Origin, Referer
Server: ESF
-content-encoding: gzip
Cache-control: private
Date: Fri, 08 Nov 2019 16:12:32 GMT
X-frame-options: SAMEORIGIN
Alt-svc: quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000
Content-type: application/json; charset=UTF-8
{
  "error": {
    "status": "INVALID_ARGUMENT", 
    "message": "Request contains an invalid argument.", 
    "code": 400
  }
}

我只能获得状态为 INVALID_ARGUMENT 的无效参数。我尝试从我自己的项目中提供一个 API 密钥,并根据文档的要求添加 parent 参数。

有人可以帮助提出有效的请求吗?

我尝试使用 OAuth 2.0 Playground、通过文档和本地使用各种选项的“试用此 API”功能来实现此功能,我觉得我错过了一些简单的东西。

4

3 回答 3

1

目前,Cloud Identity 群组 API 仅提供对Identity Mapped Groups的访问权限,这使其仅与 Cloud Search 上下文相关。

要访问“常规”组,请使用Directory API

于 2019-11-19T13:08:11.037 回答
0

不确定这是否仍然与您相关,首先您需要通过 parent,还需要为您的 customer_id 添加前缀。

Must be of the form identitysources/{identity_source_id} for external- identity-mapped groups or customers/{customer_id} for Google Groups. The customer_id must begin with "C" (for example, 'C046psxkn').

所以网址应该看起来像这样,

https://cloudidentity.googleapis.com/v1/groups?parent=customers/C <customer_id>&access_token=<oauth_token>

于 2021-03-11T05:53:55.467 回答
0

您需要确保在parent查询参数中传递了一个有效值。URL 应如下所示:

https://cloudidentity.googleapis.com/v1/groups?parent=customers/**your_customer_id_which_can_be_found_in_the_admin_console**

于 2020-10-01T23:56:53.763 回答