Я хочу получить данные из 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; }
Принимая некоторую помощь. Пожалуйста, скажите мне какое-нибудь решение. заранее спасибо
Действительно, для получения окончательного решения необходимы дополнительные сведения о структуре вашего кода, как указано в приведенном выше комментарии. Судя по полученной ошибке и скопированной под ней части кода, ваше приложение может пропустить необходимый этап, если мы посмотрим на документацию «Google \ Cloud \ Storage \ StorageClient» страница, а именно строки, начинающиеся с: use Google \ Cloud \ ServiceBuilder; ,
Кроме того, учетные данные, хранящиеся в JSON, могут быть неверными. Вы создали учетные данные на экземпляре с помощью команды gcloud auth login?