我遇到了本教程,使用了世界上所有的技术,这些技术应该展示如何从底层构建一个反应应用程序来利用shopify。但是,还有一个此页描述了一个简单的API调用,它或多或少地满足了我的需要。
其目标是拥有一个完全自定义(非常简单)的签出过程,最终在shopify系统中结束。会是这样的:
条纹购买,ok,->,shopify订单,保存->,谢谢页面重定向。
编辑:https://api_key:api_secret.@my-store.myshopify.com/admin/api/2019-07/orders.json格式似乎解决了身份验证问题。呼吁:
GET https://key:secret@my-test-store.myshopify.com/admin/api/2019-07/orders.json返回一个愉快的{ "orders": [] },因此身份验证是a-ok。
然而,做一个POST https://key:secret@my-test-store.myshopify.com/admin/api/2019-07/orders.json
似乎返回了一个神秘的页面,而不是像这样的错误(这只会导致演示商店/应用程序):

因此,总之,我有一个商店,一个经过授权的应用程序(成功地进行身份验证),那么如何以编程方式为现有SKU添加订单呢?
发布于 2019-07-15 18:15:42
你确定请求中没有饼干吗?因为如果我加曲奇的话我可以复制你的问题。
使用curl可能更容易,这样才能绝对清晰地了解正在发布的内容。例如:
# Edit to change app hostname, key/secret, and product/variant/customer ids
curl -X POST 'https://key:secret@so57018447.myshopify.com/admin/api/2019-07/orders.json' \
-H 'Content-Type: application/json' \
-d '{
"order": {
"line_items": [
{
"product_id": 2017449607219,
"variant_id": 17985741619251,
"quantity": 1
}
],
"customer": {
"id": 1257159000115
},
"financial_status": "pending"
}
}
'响应:
{
"order": {
"id":952834392115,
"email":"",
"closed_at":null,
"created_at":"2019-07-15T14:38:18-04:00",
...但是,如果您想继续使用邮递员,下面是一些支持屏幕截图,显示没有cookies的成功和失败的情况:
确认没有设置cookies:

成功地将文章发送到orders.json端点:

现在,添加一个cookie:

我在你的问题中得到了这样的回答:

发布于 2019-07-16 01:38:42
如果你读了私人应用程序的文档
Shopify不支持使用基本HTTP身份验证的POST请求中的cookie。使用基本身份验证并包含cookie的任何POST请求都将失败,错误代码为200。使用具有基本身份验证的cookie可以使应用程序暴露于CSRF攻击,例如会话劫持。
https://help.shopify.com/en/api/getting-started/authentication/private-authentication
这是故意的,在客户端这样做是犯罪的。如果您正在做一些服务器端的事情,那么使用basic是可以的。但是在客户端你不应该使用它
如果您想在邮递员中使用,那么您需要将它与access_token一起使用。
私有应用程序可以通过包含请求头
X-Shopify-Access-Token: {access_token}来验证Shopify,其中{access_token}被私有应用程序的Admin密码所取代。
https://stackoverflow.com/questions/57018447
复制相似问题