Как решить 403 запретил доступ к корзине для облачного хранилища Google

Я хочу получить данные из Google Play Analytics, которые хранятся в облачном хранилище Google. В результате исследования выяснилось, что прямого API для получения данных отчета Google Play Analytics не существует.
Отсюда я нашел Получать доступ к отчетам аккаунта Google Play через PHP API клиента API Google. Ссылка и следовал тому же дано. Я создал учетную запись службы, дал разрешение владельцу и включил API Google Cloud тоже.

В коде, показанном в ссылке, я получаю ненужные данные, если я var_dump ($ bucket), и если запустить дополнительный код, я получаю эту ошибку.

Неустранимая ошибка: необработанное исключение «Google \ Cloud \ Exception \ ServiceException» с сообщением «{« error »: {« errors »: [{« domain »:« global »,« reason »:« запрещено »,« сообщение »:» Вызывающий не имеет доступа к storage.objects.list к корзине
Я не могу показать какую-либо скрипку JS, так как имя корзины и другая информация, такая как ключ, является конфиденциальной для компании.
Вот код, который я использовал,

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; }

Принимая некоторую помощь. Пожалуйста, скажите мне какое-нибудь решение. заранее спасибо

0

Решение

Действительно, для получения окончательного решения необходимы дополнительные сведения о структуре вашего кода, как указано в приведенном выше комментарии. Судя по полученной ошибке и скопированной под ней части кода, ваше приложение может пропустить необходимый этап, если мы посмотрим на документацию «Google \ Cloud \ Storage \ StorageClient» страница, а именно строки, начинающиеся с: use Google \ Cloud \ ServiceBuilder; ,

Кроме того, учетные данные, хранящиеся в JSON, могут быть неверными. Вы создали учетные данные на экземпляре с помощью команды gcloud auth login?

1

Другие решения

Я обнаружил, что помимо «Просмотр финансовых данных» необходимо включить разрешение «Просмотр информации о приложении» (на глобальном уровне).
Изменить разрешения Google API

В консоли разработчика Google Play (все приложения) -> Настройки -> Учетная запись разработчика -> Доступ к API -> Предоставить доступ.

0