Google Play开发人员Api-无法通过python v3完全发布

我正在使用服务帐户来这样做。

每次运行脚本时,我的apk都会进入工件库,而不是进入内部测试轨道,并且apk不会推出。

当我在v2上使用我的脚本时,它将被设置为内部测试轨道,并且可以很好地发布和推出。

发生了什么变化?

from googleapiclient.discovery import build
from oauth2client.client import accessTokenrefresherror
from oauth2client.service_account import ServiceaccountCredentials
import argparse
import httplib2
import json
import mimetypes
mimetypes.add_type('application/octet-stream','.apk')


def upload(package,service,apk,track):
    track = 'internal'
    credentials = ServiceaccountCredentials.from_json_keyfile_name(
        service,['https://www.googleapis.com/auth/androidpublisher'])

    service = build('androidpublisher','v3',credentials=credentials)
    try:
        edit_request = service.edits().insert(body={},packageName=package)
        result = edit_request.execute()
        print(result)
        edit_id = result['id']

        apk_response = service.edits().apks().upload(
            editId=edit_id,packageName=package,media_body=apk).execute()

        print('Version code %d has been uploaded' %
              apk_response['versionCode'])

        track_response = service.edits().tracks().patch(
            editId=edit_id,track=track,body={u'releases': [{
                u'name': 'xx',u'versionCodes': [[apk_response['versionCode']]],u'releaseNotes': [
                    {
                        u'language': 'en-US',u'text': 'helloworld'
                    }
                ],u'status': u'completed',}]}).execute()

        print(track_response)

        commit_request = service.edits().commit(
            editId=edit_id,packageName=package).execute()

        print('Edit "%s" has been committed' % (commit_request['id']))

    except accessTokenrefresherror as e:
        print('The credentials have been revoked or expired,please re-run the '
              'application to re-authorize')
        raise e


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-p','--package',required=True,help='The package name. Example: com.android.sample')
    parser.add_argument('-s','--service',help='The service account json file.')
    parser.add_argument('-a','--apk',help='The path to the APK file to upload.')
    parser.add_argument(
        '-t','--track',choices=['internal','alpha','beta','production','rollout'],default='alpha')
    args = parser.parse_args()

    upload(args.package,args.service,args.apk,args.track)


if __name__ == "__main__":
    main()
yingzishiwo 回答:Google Play开发人员Api-无法通过python v3完全发布

原始帖子中的脚本有错误。

render

应为:

u'versionCodes': [[apk_response['versionCode']]]

享受。

本文链接:https://www.f2er.com/2975733.html

大家都在问