我正在尝试通过 URL 查询参数在 Shopify 结账中预填充送货/账单地址。我发现使用此处引用的送货地址很容易做到这一点:
https://community.shopify.com/c/Shopify-APIs-SDKs/Autofill-checkout-fields/td-p/318793
但是,当我尝试对帐单信息执行相同操作时,付款屏幕上始终选择“与送货地址相同”单选框,如果我手动选择不同地址的选项,则所有值都为空
如何预填充两个地址?我已经尝试将帐单查询参数直接添加到结帐付款页面 URL,但这也不起作用。这是我一直在尝试的网址:
demo-store.myshopify.com/checkout?checkout[email]=fake.name@gmail.com&checkout[shipping_address][first_name]=John&checkout[shipping_address][last_name]=Doe&checkout[shipping_address][address1]=333%20Fake%20St.&checkout[shipping_address][city]=San%20Diego&checkout[shipping_address][province]=CA&checkout[shipping_address][country]=USA&checkout[shipping_address][zip]=92116&checkout[shipping_address][phone]=333-333-3333&checkout[different_billing_address]=true&checkout[billing_address][first_name]=Jane&checkout[billing_address][last_name]=Doe&checkout[billing_address][address1]=444%20Fake%20St%20&checkout[billing_address][city]=San%20Diego&checkout[billing_address][province]=CA&checkout[billing_address][country]=USA&checkout[billing_address][zip]=92121&checkout[billing_address][phone]=444-444-4444
Run Code Online (Sandbox Code Playgroud)
另外,额外的问题,运输状态似乎总是根据 IP 地址填充,所以即使我给它传递一个值,它也会显示我所处的状态。我怎样才能让它始终反映查询参数的值?
我在处理一个 python 项目时遇到问题(我通常使用 PHP/Java,所以我缺乏一些知识)。基本上,我有一个使用 Flask 构建的 Python 程序,该程序使用 Shopify Python API 将库存管理系统连接到 Shopify。
当用户通过 AJAX 请求触发功能时,我需要启动一个功能/流程,通过 Shopify API 更新客户 Shopify 商店中的产品。这大约需要 2 个小时(大约 7000 件产品加上必须首先从库存管理系统中提取它们)。问题是我需要一种方法来触发这个函数/进程,即使客户端关闭浏览器,函数/进程也会继续运行。
如果有任何方法可以使用此后台功能/进程的当前进度来更新前端,那将会膨胀。
如果有人知道完成此任务的任何图书馆或资源,将不胜感激。我有一个谷歌,但我能找到的所有解决方案似乎都是针对 CLI 脚本而不是 Web 脚本的。
谢谢堆,科里:)
我正在与 Shopify 交互,他们使用 RESTful API。当我请求返回项目数组的资源时,它们使用 RFC8288 分页格式。
例如,https://example.com/api/inventory_levels.json ?limit=10 返回 10 个实体以及以下响应标头:
Link: <https://example.com/api/inventory_levels.json?limit=10&page_info=eyJs9pZHMiO>;
rel="previous", <https://example.com/api/inventory_levels.json?limit=10&page_info=MiZHeyJs9pO>; rel="next"
Run Code Online (Sandbox Code Playgroud)
显然,如果我想从该资源中检索所有实体,我需要迭代“下一个”URL,直到不再返回“下一个”。但是我如何使用 JAVA 或 C# 代码解析这些信息呢?我可以使用正则表达式来<(?<next_url>.*)>; rel="next"从中检索“next_url”。但感觉就像是重新发明轮子,不够稳健。
如果这是一个定义明确的功能,那么难道不应该有一个现成的库/基础设施可以使用吗?我只是不想因为有一天格式显示不同(例如有一个额外的空格等)而感到惊讶,并且在遵守 RFC 定义的同时打破了我匆忙整理的 RegEx 解决方案。
欢迎提出 Java 或 C# 的建议。
刚刚开始使用 Shopify,并尝试获得订单。根据 Shopify API 文档,这是我的代码:
const Shopify = require('@shopify/shopify-api');
const client = new Shopify.Clients.Rest('my-store.myshopify.com',
process.env.SHOPIFY_KEY);
module.exports.getShopifyOrderById = async (orderId) => {
return await client.get({
path: `orders/${orderId}`,
});
}
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,出现以下错误:
TypeError: Cannot read properties of undefined (reading 'Rest')
似乎无法弄清楚问题是什么。
我是 Shopify 的新手,当我尝试使用 @shopify/shopify-api 时遇到问题。我正在从 API 导入此属性。
import Shopify from '@shopify/shopify-api'
Run Code Online (Sandbox Code Playgroud)
当我进行导入时,出现下一个错误。
Uncaught TypeError: util.inherits is not a function
at node_modules/jsonwebtoken/node_modules/jws/lib/data-stream.js (data-stream.js:39:6)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/node_modules/jws/lib/sign-stream.js (sign-stream.js:3:18)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/node_modules/jws/index.js (index.js:2:18)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/decode.js (decode.js:1:11)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
at node_modules/jsonwebtoken/index.js (index.js:2:11)
at __require (chunk-IGMYUX52.js?v=cd28f3b3:40:50)
Run Code Online (Sandbox Code Playgroud)
所以我转到文件中发生错误的行:
node_modules/jsonwebtoken/node_modules/jws/lib/data-stream.js
Run Code Online (Sandbox Code Playgroud)
如果您在此处看不到图像,请查看代码行。
util.inherits(DataStream, Stream);
Run Code Online (Sandbox Code Playgroud)
所以我查阅了节点文档,发现该方法不鼓励使用,但并未弃用,因此它应该可以工作。
如果您看不到图像,这里是该方法的描述。
不鼓励使用
util.inherits()。请使用 ES6 class 和 extends 关键字来获得语言级别的继承支持。另请注意,这两种样式在语义上不兼容。将原型方法从一个构造函数继承到另一个构造函数。构造函数的原型将被设置为从创建的新对象
superConstructor。这主要是在
Object.setPrototypeOf(constructor.prototype, superConstructor.prototype). 作为额外的便利,superConstructor可通过constructor.super_酒店抵达。
有问题的包名为 jws,我不太确定这个包的用途,我有修改文件并使用原型继承替换该代码行的想法,但我不知道这样做有多好。此外,我必须对每个存在该问题的文件执行此操作,我还没有在互联网上找到有关此问题的任何信息。
我正在尝试通过基于标签的过滤来从 Shopify 获取产品。标签将是动态的,不止一个,并且会发生变化。
import json
import time
import requests
API_KEY = 'xxxx'
PASSWORD = 'xxxx'
SHOP_NAME = 'xxxx'
API_VERSION = '2020-04' #change to the API version
shop_url = "https://%s:%s@%s.myshopify.com/admin/api/%s" % (API_KEY, PASSWORD, SHOP_NAME, API_VERSION)
def callShopifyGraphQL(GraphQLString, data):
headers = {
"X-Shopify-Storefront-Access-Token": 'xxxxxx',
"accept":"application/json"
}
response = requests.post(shop_url+'/graphql', json={'query': GraphQLString, 'variables': data}, headers=headers)
answer = json.loads(response.text)
return answer['data']
str1 = '0-12'
str2 = 'physical'
graphQLquery7 = """ {
products(first:100, query:"tag:$tags") {
edges {
node {
id
tags
title
onlineStoreUrl
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个分页的 shopify 产品页面。我正在使用since_id他们的文档中列出的策略:https : //shopify.dev/docs/admin-api/rest/reference/products/product#index-2020-10
使用此端点,如文档中所述:
/products.json?limit=5&since_id=${sinceId}
因为Id是上一页上最后一个产品的ID
分页似乎跳过项目。它似乎没有跳过一定数量的产品。有时它只是一个。其他的最多可达 10 个。
显然,这使得“分页”不起作用。
我知道标题解决方案中的链接。但是想知道是否有人遇到过这个问题since_id?
如何在 shopify 中使用 GraphQL 创建/更新商店元字段?我可以使用以下内容轻松创建集合元字段:
mutation {
collectionUpdate(
input: {
id: "gid"
metafields: [
{
namespace: "testNamespace"
key: "testKey"
value: "someValue2"
valueType: STRING
}
{
id: "gid"
value: "value"
}
]
}
) {
collection {
id
metafields(first: 10) {
edges {
node {
id
value
}
}
}
}
userErrors {
field
message
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这家商店似乎没有类似的东西。此外,可以使用以下方式检索商店元字段:
{
shop {
metafield(namespace:"namespace",key:"key") {
id
value
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有 shopify admin api,我想在前端调用它,但是当我尝试获取数据时,它给出以下错误“访问 XMLHttpRequest at 'https://API_KEY:PASSORD@NAME.myshopify.com/admin来自原点“null”的“/api/2021-07/orders.json”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头不存在请求的资源。”,我使用 axios 和 fetch,但都不起作用。任何帮助我们将不胜感激。
shopify-api ×10
shopify ×7
shopify-app ×3
graphql ×2
c# ×1
express ×1
java ×1
javascript ×1
node.js ×1
pagination ×1
python ×1
python-3.x ×1
restful-url ×1