Php/GooglePlayApi
提供: 初心者エンジニアの簡易メモ
2025年3月21日 (金) 17:36時点におけるAdmin (トーク | 投稿記録)による版 (ページの作成:「==準備== ===gcpでサービスアカウントを作成し鍵を作る=== #GoogleCloudPlatform(https://console.cloud.google.com/)で、IAMと管理 / サービスアカ...」)
準備
gcpでサービスアカウントを作成し鍵を作る
- GoogleCloudPlatform(https://console.cloud.google.com/)で、IAMと管理 / サービスアカントを開く
- 上にある"サービスアカウントを作成する"を選択
- サービスアカウント名に、わかりやすく例えば"purchase"などといれて、apiを作る
- 上のタブから鍵を選択し、"キーを追加"から"新しい鍵"を選択してJSONを選択
- サービスアカウントJSONファイルが、DLされるので、保存しておく
GooglePlayの売上APIにアクセスするphp
- google/apiclientのライブラリを持つプロジェクトを作成
$ composer require google/apiclient
index.php
<?php
require 'vendor/autoload.php'; // ComposerでインストールしたGoogle APIクライアントを読み込む
// 設定
$serviceAccountPath = '/path/to/your-service-account.json'; // サービスアカウントJSONのパス
$packageName = 'com.example.yourapp'; // Google Playのアプリのパッケージ名
$reportType = 'salesreport'; // レポートの種類(売上レポート)
$reportDate = date('Ymd', strtotime('-1 day')); // 昨日の日付のレポートを取得
$bucketName = 'pubsite_prod_xxxxxx'; // Google Cloud Storage のバケット名(Google Play Console レポートのダウンロード売上にCloudStorageURIがあるのでそれのpubsite_~xxxx部分をコピペ)
$objectName = "sales/salesreport_$reportDate.csv"; // レポートのファイル名
// Google APIクライアントの初期化
putenv("GOOGLE_APPLICATION_CREDENTIALS=$serviceAccountPath");
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Storage::DEVSTORAGE_READ_ONLY);
// Google Cloud Storage にアクセス
$storage = new Google_Service_Storage($client);
try {
// 売上レポートをダウンロード
$file = $storage->objects->get($bucketName, $objectName, ['alt' => 'media']);
// レポートの内容を取得
$reportData = $file->getBody()->getContents();
// CSVファイルとして保存
file_put_contents("salesreport_$reportDate.csv", $reportData);
echo "✅ 売上レポートを取得しました: salesreport_$reportDate.csv\n";
} catch (Exception $e) {
echo "❌ エラー: " . $e->getMessage() . "\n";
}
"エラー: Invalid bucket name: "とでたら
index.phpの$bucketNameに設定した値が、間違えてるので、pubsite_prod_xxxxxxな感じになってるか、確認する。
