質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

Q&A

0回答

1439閲覧

Google Cloud Storage からのAndroidアプリレポートをダウンロードしたい

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

0グッド

0クリップ

投稿2021/08/24 04:41

お世話になります。

タイトルの件でご相談です。

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 に関しては理解できていないためご質問させていただいています

以上、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問