grailsアプリケーションからバブルを作成したいと思います。 私は既にGoogleクラウドにバケツを作成しました。サービスアカウントを作成し、そのオーナーにバケツにアクセスしてサービスアカウントに与えました。その後、サービスアカウントキーproject-id-c4b144.jsonが作成され、すべての資格情報が保持されます。GrailsアプリケーションからGoogle Cloud Storageにアクセスする
このコードを実行すると、jsonエラーメッセージが返されます。
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Caller does not have storage.objects.create access to bucket dispatching-photos.",
"reason" : "forbidden"
} ],
"message" : "Caller does not have storage.objects.create access to bucket dispatching-photos."
}
| Grailsバージョン:3.2.10 | Groovyバージョン:2.4.10 | JVMのバージョン:1.8.0_131
グーグル、クラウド型データストア:1.2.1
グーグル-AUTH-ライブラリのOAuth2-のhttp:0.7.1
Googleのクラウド・ストレージ:1.2.2
サービスに関する
サービスアカウントは、独自の個別のアクセス権を持つ一意のユーザーとしてカウントされます。資格情報 'project-id-c4b144.json'に関連付けられたサービスアカウントは、そのバケット内にオブジェクトを作成する権限を持っていますか? –
@Brandon Yarbrough、はい、私はjsonファイルからクライアントのメールを受け取り、バケツの管理者として「バケットの権限」から追加しました。 –
これは実行した実際のコードですか?構文的には有効ではありませんが(セミコロンが数行についていない)、中間の編集状態にあるようです(storage.get()呼び出しが必要ないようです)。また、私はあなたのプロジェクトIDが実際には "プロジェクトID"ではないと思われます - 投稿であなたの実際のプロジェクトIDを隠すことだけでしたか?それともあなたがコードで使った価値ですか? –