【问题标题】:Shopify GraphQL Admin API - Access Denied when try fetch appInstallationsShopify GraphQL Admin API - 尝试获取 appInstallations 时拒绝访问
【发布时间】:2020-10-02 08:56:53
【问题描述】:

我正在尝试使用私有应用程序(使用 ApiKey 和 ApiPassword 进行身份验证)获取 Shopify 商店中已安装的应用程序,但我收到拒绝访问错误。

我正在尝试获取 -> appInstallations

的内容

如下所述:

https://shopify.dev/docs/admin-api/graphql/reference/queryroot?api[version]=2020-04#connections-2020-04

在 store 里面我设置了 api key 拥有所有的读取权限。

我正在尝试使用以下查询执行:

    $result = $api->graph('{
    appInstallations(first:10){
    edges{
    cursor
    }
    }
    }');

输出:

+container: array:3 [▼
      "data" => null
      "errors" => array:1 [▼
        0 => array:3 [▼
          "message" => "access denied"
          "locations" => array:1 [▼
            0 => array:2 [▼
              "line" => 2
              "column" => 9
            ]
          ]
          "path" => array:1 [▼
            0 => "appInstallations"
          ]
        ]
      ]

我通过执行以下 GraphQL 查询来测试 API 密钥是否有效:

   $result = $api->graph('{
  products(first: 50) {
    edges {
      cursor
      node {
        title
      }
    }
  }
}');

它产生了产品列表的有效结果。

如果您知道为什么会这样,请与我分享答案。

问候

【问题讨论】:

    标签: graphql shopify


    【解决方案1】:

    当您创建 API 密钥时,您必须为其授予访问范围权限。您的密钥没有您尝试获取的资源所需的范围。您需要更改密钥的权限,以便它有权访问已安装的应用程序列表。即使这不是列出的范围,您也可以在可用的列表中找到设置权限以设置私钥。

    【讨论】:

    • 感谢您的回复,我在 API 密钥权限页面上找不到此范围。你能帮我截屏显示它的位置吗?
    • 如果它不存在,那么私有应用程序根本无法使用它。您必须弄清楚是哪个权限发出的。如您所知,由于 Shopify 锁定了他们的平台,因此您无法使用 API 密钥看到很多东西,
    猜你喜欢
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    相关资源
    最近更新 更多