このリソースで新しいデバイスを作成しようとしています:
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 の create メソッドを呼び出しています。
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();
create エンドポイントを呼び出そうとすると、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"
}
ありがとう。