Firefox Marketplace API:应用程序图标在成功上传后保持默认状态

我尝试通过Python API以编程方式更新应用程序的Firefox Marketplace条目。 我能够使用模块marketplaceclient.create_screenshot(app_id, filename)方法成功上传截图client.create_screenshot(app_id, filename)并在https://marketplace-dev.allizom.org/ marketplace与开发环境进行对照。

在Python API中,没有方法可以上传图标。 尽管在Marketplace API文档中 ,有一个REST点来上传图标:更新应用程序图标

我使用文档编写自己的方法来上传图标:

import mimetypes
import sys
from base64 import b64encode
from urlparse import urlunparse

def post_icon_file(client, app_id, filename):
  with open(filename, 'rb') as s_file:
    s_content = s_file.read()
    s_encoded = b64encode(s_content)
    url = urlunparse((client.protocol, '%s:%s' % (client.domain, client.port),
      '%s/api/v2%s' % (client.prefix, '/apps/app/' + str(app_id) + '/icon/'),
      '', '', ''))

    print url

    mtype, encoding = mimetypes.guess_type(filename)
    if mtype is None:
      mtype = 'image/jpeg'

    data = {'file': {
      'type': mtype,
      'data': s_encoded
    }}

    response = client.conn.fetch('PUT', url, data)

    if response.status_code != 200:
      sys.exit(response.content)
    else:
      print str(response.status_code) + ': Uploaded icon ' + filename + ' for app ID ' + str(app_id)

问题:上传的响应是成功的(200)。 我收到消息:

200:上传的图标/path/to/icon/icon-512.png,用于应用程序ID 1234567

仍然在https://marketplace-dev.allizom.org/developers/app/[slug]/edit的市场条目中,应用程序图标显示为默认图标

我的调查到目前为止:

  • 如果我通过client.status(app_id)获取应用程序的状态,则图标的条目仍然是默认的,例如:icons:{u '128 ':u 'https://marketplace-dev-cdn .allizom.org /媒体/ IMG /集线器/默认-128.png ”

  • 我试图上传一个128×128像素的图标,另一个图像以512×512像素的大小上传。 两者都有相同的结果:成功,但它们在条目中没有改变。


  • 尝试部署您的Zamboni [1]实例和[2]文件错误并提出请求。 你可以在过去看到像这样的错误[3]

    [1] https://github.com/mozilla/zamboni

    [2] https://bugzilla.mozilla.org/enter_bug.cgi#h=dupes|Marketplace

    [3] https://github.com/mozilla/zamboni/pull/2403

    链接地址: http://www.djcxy.com/p/79763.html

    上一篇: Firefox Marketplace API: app icon stays default after successful upload

    下一篇: Validation error while submitting app to Firefox Marketplace