我正在尝试使用此资源创建一个新设备:
https://cloud.google.com/identity/docs/reference/rest/v1beta1/devices/create。
我已经定义了 API 的范围,如下所示。
@Override
protected List<String> getScopes() {
return Collections.singletonList(
"https://www.googleapis.com/auth/cloud-identity"
);
}
我正在调用这样的 API 创建方法。
val createDeviceRequest = new CreateDeviceRequest()
.setCustomer("customers/my_customer")
.setDevice(createDeviceModel.toGoogle());
cloudIdentityClientFactory
.createFor(adminGoogleId)
.devices()
.create(createDeviceRequest)
.execute();
“createDeviceRequest”实体值是这样的:
创建客户端没有错误,因为创建客户端工作正常,我能够调用列表端点并在响应正文中使用 3 个设备获得成功响应。我了解该范围工作正常,因为我只使用上面定义的 1 个范围,并且我可以访问列表设备。
https://cloud.google.com/identity/docs/reference/rest/v1beta1/devices/list
一个可以正常工作的列表设备示例:
val x = cloudIdentityClientFactory
.createFor(adminGoogleId)
.devices()
.list()
.setCustomer("customers/my_customer")
.execute();
当我尝试调用创建端点时,我收到 403 Forbidden 错误。我想知道这个被禁止消息的原因是什么,有什么办法可以解决它。
POST https://cloudidentity.googleapis.com/v1beta1/devices
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "The caller does not have permission",
"reason" : "forbidden"
} ],
"message" : "The caller does not have permission",
"status" : "PERMISSION_DENIED"
}
谢谢。