1

prestashop API を使用していますprestapyt

サイトに手動でカテゴリを追加しましたが、API 経由で編集しようとすると失敗します。最も単純なことでさえ、うまくいきません:

ps = PrestaShopWebServiceDict(config.DOMAIN, config.KEY)
xml = ps.get('categories', 35)
ps.edit('categories',35,xml)

xml (タイプ DICT) は正常に読み込まれますが、.edit()失敗します。

これが応答です

Traceback (most recent call last):
  File "C:\Users\noukeys\Documents\psapi\main.py", line 31, in <module>
    ps.edit('categories',35,xml)
  File "C:\Python27\lib\site-packages\prestapyt\prestapyt.py", line 333, in edit
    return self.edit_with_url(full_url, content)
  File "C:\Python27\lib\site-packages\prestapyt\prestapyt.py", line 452, in edit_with_url
    return  super(PrestaShopWebServiceDict, self).edit_with_url(url, xml_content)
  File "C:\Python27\lib\site-packages\prestapyt\prestapyt.py", line 344, in edit_with_url
    return self._parse(self._execute(url, 'PUT', body=unicode_encode.encode(content), add_headers=headers)[2])
  File "C:\Python27\lib\site-packages\prestapyt\prestapyt.py", line 171, in _execute
    self._check_status_code(status_code)
  File "C:\Python27\lib\site-packages\prestapyt\prestapyt.py", line 125, in _check_status_code
    % (status_code, message_by_code[status_code]), status_code)
prestapyt.prestapyt.PrestaShopWebServiceError: 'This call to PrestaShop Web Services failed and returned an HTTP status of 400. That means: Bad Request.'
4

2 に答える 2

0

API でデバッグをオンにすることができます。

prestashop.debug = True

次に、ショップの config.inc.php で display_errors をオンにします。これは、リクエストが悪かった理由をデバッグするのに役立ちました。エラーメッセージは非常に明確です。

于 2013-01-25T02:57:53.813 に答える
0

編集にも問題がありますが、501 エラーが発生します。私のホストは PUT リクエストを許可していないことがわかりました。

于 2013-01-24T03:14:02.183 に答える