Google PlayアナリティクスからGoogle Cloud Storageに保存されているデータを取得したいと考えています。 Google Playアナリティクスのレポートデータを取得するための直接的なAPIがないことが、ロットの調査後に判明しました。 したがって、私はAccess Google play account reports through Google API Client PHP Libraryリンクを見つけて、それに従ってください。所有者の許可を得てサービスアカウントを作成し、GoogleクラウドAPIも有効にしました。Google Cloud Storageのバケットにアクセスすることを禁止されている方法
リンクに表示されているコードでは、私はvar_dump($ bucket)の場合にジャンクデータを取得しています。さらにコードを実行するとこのエラーが発生します。
Fatal error: Uncaught exception 'Google\Cloud\Exception\ServiceException' with message '{ "error": { "errors": [ { "domain": "global", "reason": "forbidden", "message": "Caller does not have storage.objects.list access to bucket I cannot show any JS fiddle as the bucket name and other information like key is confidential to company. Here is code i used,
require 'vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
$client = new StorageClient([ 'projectId'=> 'myproject-id','scopes'=> [StorageClient::READ_ONLY_SCOPE],'keyFile'=> json_decode(file_get_contents('path_to_jsonfile'), true) ]); $bucket=$client->bucket('mybucketname');
/*Find bucket name in Google Developer Console>>Reports */
$buckets=$client->buckets([ 'prefix' => 'stats/installs/']);
foreach ($buckets as $bucket) {echo $bucket->name().PHP_EOL; }
いくつかの助けを受け入れます。解決策を教えてください。事前に感謝します
コードの153行目をチェックしてください。私たちはあなたのコードを見てあなたを助けません。 – DaImTo
認証要件は[クラウドストレージに到達しようとしているデバイス](https://cloud.google.com/docs/authentication#getting_credentials_for_server-centric_flow)によって異なる場合があります。このコードはどこで実行されていますか?すべてのバケット名は、['stats/installs /'接頭辞(https://googlecloudplatform.github.io/google-cloud-php/#/docs/google-cloud/v0.24.0/storage/storageclient?メソッド=バケット)? – Nicholas