微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GraphQL错误:字符串类型的变量$ customerAccessToken!提供的值无效

如何解决GraphQL错误:字符串类型的变量$ customerAccessToken!提供的值无效

我正在尝试使用用户登录Shopify时提供的customerAccesstoken来恢复客户。

使用Apollo,这是我的代码

this.apollo.mutate({
  mutation: getCustomerFromToken,variables: {
    input: {
      customerAccesstoken: '217b9a6952c28eb4db376487a6301294' // Also tried btoa('217b9a6952c28eb4db376487a6301294')
    }
  },})

这是我的GraphQL查询

query getCustomerFromToken($customerAccesstoken: String!) {
  customer(customerAccesstoken: $customerAccesstoken) {
    id
    addresses(first: 5) {
      edges {
        node {
        address1
        address2
        company
        city
        province
        zip
        country
        phone
        }
      }
    }
    orders(first: 200) {
      edges {
        cursor
        node {
          id
          totalPriceV2 {
            amount
            currencyCode
          }
          processedAt
          orderNumber
        }
      }
    }
  }
}

这是我用来从Shopify检索accesstoken的登录GraphQL代码

mutation customerAccesstokenCreate($input: CustomerAccesstokenCreateInput!) {
  customerAccesstokenCreate(input: $input) {
    customerAccesstoken {
      accesstoken
      expiresAt
    }
    customerUserErrors {
      code
      field
      message
    }
  }
}

解决方法

我的问题有两个。

  1. 我在查询终点使用了突变
  2. 查询不在有效负载中使用输入
const payload = {
    customerAccessToken: "..."
}

// NOT

const payload = {
  input: {
    customerAccessToken: "..."
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。