Python 无法以编程方式更新扩展

Python 无法以编程方式更新扩展,python,google-chrome-extension,google-api,Python,Google Chrome Extension,Google Api,信息闪现 考虑到我有一个访问令牌和一个应用程序ID,我应该能够使用以下命令更新chrome扩展 r = requests.put( 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/%s' % APP_ID, headers={'Authorization': "Bearer %s" % ACCESS_TOKEN, 'x-goog-api-version': "2"}, files=

信息闪现

考虑到我有一个访问令牌和一个应用程序ID,我应该能够使用以下命令更新chrome扩展

r = requests.put(
   'https://www.googleapis.com/upload/chromewebstore/v1.1/items/%s' % APP_ID,
   headers={'Authorization': "Bearer %s" % ACCESS_TOKEN,
            'x-goog-api-version': "2"},
   files={'file': open('target_extension.crx', 'rb')})
print r.text
印刷品:

{"error":{"errors":[{"domain":"global","reason":"notUpload","message":"Not an upload request. Re-send request to: https://www.googleapis.com/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}],"code":400,"message":"Not an upload request. Re-send request to: https://www.googleapis.com/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}}
{"error":{"errors":[{"domain":"global","reason":"wrongUrlForUpload","message":"Uploads must be sent to the upload URL. Re-send this request to https://www.googleapis.com/upload/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}],"code":400,"message":"Uploads must be sent to the upload URL. Re-send this request to https://www.googleapis.com/upload/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}}
好的,看起来很清楚,我切换url:

r = requests.put(
    'https://www.googleapis.com/chromewebstore/v1.1/items/%s' % APP_ID,
    headers={'Authorization': "Bearer %s" % ACCESS_TOKEN,
             'x-goog-api-version': "2"},
    files={'file': open('target_extension.crx', 'rb')})
print r.text
印刷品:

{"error":{"errors":[{"domain":"global","reason":"notUpload","message":"Not an upload request. Re-send request to: https://www.googleapis.com/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}],"code":400,"message":"Not an upload request. Re-send request to: https://www.googleapis.com/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}}
{"error":{"errors":[{"domain":"global","reason":"wrongUrlForUpload","message":"Uploads must be sent to the upload URL. Re-send this request to https://www.googleapis.com/upload/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}],"code":400,"message":"Uploads must be sent to the upload URL. Re-send this request to https://www.googleapis.com/upload/chromewebstore/v1.1/items/fmcklaikklmlfahjgdndacebapkpefan"}}
有人说我不是上传开关。另一个说我是上传的,切换回来。我做错了什么?

小崽子,多亏了他的评论,我才明白这一点。而且,结果证明我应该上传一个zip,而不是crx


我不熟悉这个python库,但您需要对PUT请求中的文件使用数据键。