解码google云存储pythonapi返回的protobuf文件

2024-04-19 14:43:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图通过Google云存储和他们的python客户端api库googleapiclient从googleplay自动下载收益报告。你知道吗

我在Windows 10上使用python 3.6.5(Anaconda发行版):

client_email = '...@...iam.gserviceaccount.com'
json_file_path = 'C:\\Users\\...'
cloud_storage_bucket = 'pubsite_prod_rev_...'
report_to_download = 'sales/salesreport_201806.zip'

json_obj = json.loads(open(json_file).read())
_private_key = json_obj['private_key']
_private_key_id = json_obj['private_key_id']
_token_uri = json_obj['token_uri']
_client_id = json_obj['client_id']


credentials = ServiceAccountCredentials(
    service_account_email = client_email,
    private_key_id = _private_key_id,
    token_uri = _token_uri,
    client_id = _client_id,
    scopes = 'https://www.googleapis.com/auth/devstorage.read_only',
    signer = crypt.Signer.from_string(_private_key), )

storage = build('storage', 'v1', http=credentials.authorize(Http()))

request = storage.objects().get_media(bucket=cloud_storage_bucket,
                                      object=report_to_download)
response = request.execute()

但是,我得到了一些协议缓冲区文件response,它的开头是这样的: b'PK\x03\x04\x14\x00\x08\x08\x08\x00\xdb\xa3\xe4L\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00PlayApps_201806.csv'

我不知道应该使用哪个解码器来获得更好格式的response(当从googleplay手动下载时,报告是.csv存档文件中的.zip)。有什么建议吗?你知道吗


Tags: keyclienttokenidjsonobjbucketemail
1条回答
网友
1楼 · 发布于 2024-04-19 14:43:47

这不是协议。它是一个zip文件。线索

  • 文件名为“sales/salesreport\u 201806.zip”
  • 前几个字节包含“PK”,(如PKZip

相关问题 更多 >