お世話になります。
タイトルの件でご相談です。
Androidアプリのインストール数等の情報は、
Google Cloud Storage へレポートとして保存されているようです。
これをプログラム(PHP)を利用して取得することが可能なようなのですが、
実際にデータを取得するところまで到達できておりません。
■Googleのヘルプページ
https://support.google.com/googleplay/android-developer/answer/6135870
月次レポートのダウンロードとエクスポート
→Google Cloud Storage からレポートをダウンロードする
→→→Google Cloud Storage URI を見つける
→→→→クライアント ライブラリとサービス アカウントを使用してレポートをダウンロードする
→→→→→ステップ 1: サービス アカウントを作成する
→→→→→→ステップ 2: Google Play Console にサービス アカウントを追加する
→→→→→→→ステップ 3: API 呼び出しを使用してレポートを取得する
上記「ステップ 2」までは完了し、
Storageへのアクセスは出来ているのですが、
OAuth2の認証をどのようにすれば良いのかがわかっておりません。
■エラー内容
Fatal error: Uncaught Google\Cloud\Core\Exception\ServiceException: {"error":{"code":403,"message":"xxxxxxxxxx@xxxxxxxxxx.iam.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket.","errors":[{"message":"xxxxxxxxxx@xxxxxxxxxx.iam.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket.","domain":"global","reason":"forbidden"}]}}
権限がない旨のメッセージとはなっていますが、
管理者権限を付与していますので、事前認証の問題ではないかと考えています。
■ソースコード
require __DIR__.'/vendor/autoload.php'; use Google\Cloud\Storage\StorageClient; // プロジェクトIDを入力 $projectId = 'xxxxx-project'; // 認証鍵までのディレクトリを入力 $auth_key = __DIR__.'/xxxxx-project.json'; // バケットの名前を入力 $bucket_name = 'pubsite_prod_xxxxx'; $storage = new StorageClient([ 'projectId' => $projectId, 'keyFile' => json_decode(file_get_contents($auth_key, TRUE), true) ]); $bucket = $storage->bucket($bucket_name); $objects = $bucket->objects([]); foreach ($objects AS $num => $object) { echo "No.{$num}: ".$object->name() . "<br>"; }
事前にOAuth2認証が必要なものと思われますが、
その部分の実装方法などをご教授いただければと思います。
※ヘルプページ内には Python を使用したサンプルの記載がありますが、
Python に関しては理解できていないためご質問させていただいています
以上、よろしくお願い致します。
あなたの回答
tips
プレビュー