通过Google API客户端PHP库访问Google Play帐户报告 [英] Access Google play account reports through Google API Client PHP Library

查看:360
本文介绍了通过Google API客户端PHP库访问Google Play帐户报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  • Google Play开发者帐户报告存储在私有Google Cloud Storage存储桶中.
  • 我想以编程方式在PHP中下载这些报告.
  • 在此链接部分-> 下载使用客户端库生成报告服务帐户为此提供了步骤.
  • 但是我仍然无法实现.
  • 由于Google API客户端PHP库仍处于beta版,因此也没有适用于PHP的示例代码.
  • Google Play Developer Account reports are stored on private Google Cloud Storage bucket.
  • I want to download these reports programmatically in PHP.
  • In this link section-> Download reports using a client library & service account provide steps for that.
  • But I am not able to achieve it still.
  • Also no sample code is available for PHP, as Google API Client PHP Library are still in beta version.

那么真的有可能用PHP访问私有Google Cloud Storage存储桶吗?

So is it really possible to get access to private Google Cloud Storage bucket in PHP ?

我已经尝试过使用gsutil工具,但这不能完全满足我的需求.

I have already tried out with gsutil tool, but that doesn't exactly satisfy my need.

我们将不胜感激.

推荐答案

首先,您必须创建一个将用于身份验证的应用程序帐户.转到页面底部的 Google Play开发者控制台 >>设置>> API访问. 创建帐户"(不是OAuth).然后为创建的帐户设置权限,并以JSON格式生成密钥文件.应该看起来像这样:

At first you must create an Application Account that you will use for authentication. Go to Google Play Developer Console >> Settings >> API Access at the bottom of page click "Create Account" (not OAuth). Then set permissions for created account and generate key file in JSON. Should look like this:

{
    "type": "service_account",
    "project_id": "api-...",
    "private_key_id": "...",
    "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
    "client_email": "...@...iam.gserviceaccount.com",
    "client_id": "...",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/..."
}

下一步,请在您的PHP脚本中使用生成的凭据.在Composer中下载或要求 Google Cloud Client库.

Next step use generated credentials in your PHP script. Download or require in Composer Google Cloud Client Library.

使用Google Cloud Client库方法来授权和下载报告文件:

Use Google Cloud Client Library methods to authorize and download report files:

use Google\Cloud\Storage\StorageClient;

$client = new StorageClient([
    'scopes' => [StorageClient::READ_ONLY_SCOPE],
    'keyFile' => json_decode(file_get_contents('yourKeyFile.json'), true)
]);
$bucket = $client->bucket('pubsite_prod_rev_*'); //Find your bucket name in Google Developer Console >> Reports

//List all objects in bucket
foreach ($bucket->objects(['prefix' => 'stats/installs/']) as $object) {
    print_r($object->name());
}

//Download some file
$file = $bucket->object('stats/installs/installs_*_overview.csv');
$file->downloadToFile();

//Or print as string
echo $file->downloadAsString();

这篇关于通过Google API客户端PHP库访问Google Play帐户报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆