我已通过console.developers.google.com创建了服务帐户客户端。生成密钥,.p12证书,启用DwD等等...... 然后我继续作为管理员API references中的描述者。 (HTTP / REST版本)。这包括在Google管理员处为这些客户ID添加范围 - >安全 - >提前设置。 Current admin security config state 在我成功交换访问令牌的代码并请求我的域下的用户列表之后,我得到了这个响应。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Not Authorized to access this resource/api"
}
],
"code": 403,
"message": "Not Authorized to access this resource/api"
}
}
请求是GET,授权持有人ya29.ElrxA8F [其他的acctoken] 并且google开发人员控制台信息中心会在Admin SDK中显示包含错误请求的图表
答案 0 :(得分:2)
您必须以指定用户身份证明您的客户
所以我错过了:json auth payload中的“sub”参数: 这是正确的json对象(包含你的id的cource等),你需要用它来从服务帐户访问你的Admin SDK:
{
“ISS”: “761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com” “子”: “some.user@example.com”,
“范围”: “googleapis.com/auth/prediction”,
“AUD”: “googleapis.com/oauth2/v4/token”,
“exp”:1328554385,“iat”:1328550785 }
查看google admin sdk reference了解更多详情。 (部分带有“sub”参数)
答案 1 :(得分:0)
您可以参考此answer,其中指出只有super admins, delegated admins and resellers才能访问Admin SDK Directory API。尝试委派一个只能通过API访问更新用户的管理员,然后让您的Web应用程序使用为该委派管理员创建的OAuth令牌。这也可能是因为Google App上的配置错误"在Google Apps控制台上添加了带范围的客户端ID。" 。您可以查看this。