Shopify自定义应用Delegate Access Token报错:delegate_access_scope不能为空
解决Shopify委托访问范围为空错误及创建带密码客户的方法
错误修复要点
- 字段名拼写错误:你写的
delegateAccessScope不符合Shopify API的命名规范,正确字段名是delegate_access_scope(下划线分隔),这直接导致了"access scope can't be empty"的报错,改过来就行。 - 权限范围要匹配需求:你要创建带密码的客户,得用
write_customers权限,别用示例里的write_orders,选对scope才能正常操作。 - 确认ADMIN密钥权限:虽然你知道要用ADMIN密钥,但得确保这个密钥本身有
write_customers权限,请求时也要正确把密钥放到认证头里。
修正后的委托令牌请求代码
const accessToken = gql`mutation { delegateAccessTokenCreate(input: { delegate_access_scope: ["write_customers"], expiresIn: 3600 }) { delegateAccessToken { accessToken } shop { id } userErrors { field message } } }`
创建带密码客户的代码示例
拿到有效委托令牌后,用下面的mutation创建客户:
const createCustomer = gql`mutation { customerCreate(input: { email: "customer@example.com", password: "StrongPassword123!", firstName: "John", lastName: "Doe" }) { customer { id email } userErrors { field message } } }`
内容的提问来源于stack exchange,提问作者gregwhitworth
相关产品推荐
相关产品推荐

