【问题标题】:Redirection 302 for PUT request via Shopify API通过 Shopify API 的 PUT 请求重定向 302
【发布时间】:2021-02-24 16:00:17
【问题描述】:

设置

我正在使用Shopify Admin API Python 库通过私有应用连接访问我们的商店。

GET 请求工作正常,即product = shopify.Product.find(6514193137813) 检索产品数据。


问题

如果我想更新现有产品,PUT 请求不起作用。也就是说,

product.title = 'test123'
product.save()

返回一个Redirection: Response(code=302,...)


到目前为止

我已经仔细检查并打开了读写权限。

然后我在 Shopify 论坛上发现了这个问题:https://community.shopify.com/c/Shopify-APIs-SDKs/API-Fulfillment-Status-Code-302-Redirect/m-p/747383/highlight/true#,其中 Shopify 工作人员 hassain 指出 Shopify 阻止您对具有 cookie 的 POST 请求使用 HTTP 基本身份验证

但由于他的声明是关于 POST 请求的,我不确定这是否相关。

如何使 PUT 请求工作?

【问题讨论】:

  • 你能解决这个问题吗?我遇到了与 Fulfillments 类似的问题
  • 还没有,恐怕……
  • 就您的问题而言,除了标题之外,您能否更新产品的其他部分?
  • 无法发出任何放置请求。我在 Github 上打开了一个问题:github.com/Shopify/shopify_python_api/issues/469
  • 尝试请求而不是那个库来测试它是编码问题还是配置问题。这段代码对我有用。 jsfiddle.net/g2z97wc0

标签: python redirect get shopify http-status-code-302


【解决方案1】:

我关注MalcolmInTheCenter's评论,并使用他的请求代码成功更新了产品,

import requests

payload = {
           "product":{
                      "title":"My new title"
                      }
           }

api_key = "xxxxx"
password="xxxxxx"
headers = {"Accept": "application/json", "Content-Type": "application/json"}

#send email to customer through events endpoint
r = requests.put("https://"+api_key+":"+password+"@MYSTORE.myshopify.com//admin/api/2021-01/products/{PRODUCT_ID}.json", json=payload,  headers=headers)
print(r)

【讨论】:

  • 太棒了。该 python 库不是 Shopify 使用的最佳选择。文档很少,而且不容易使用。
猜你喜欢
  • 2016-06-30
  • 1970-01-01
  • 2018-04-09
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多