通过 Shopify API 为 PUT 请求重定向 302

问题描述

设置

我使用 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 请求起作用?

解决方法

我关注了 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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...