【问题标题】:Guzzle HTTP Client and Shopify access token exceptionGuzzle HTTP 客户端和 Shopify 访问令牌异常
【发布时间】:2018-07-18 16:56:24
【问题描述】:

我在尝试用 Shopify 中的访问令牌交换临时代码时收到 Client error: POST https://testing-shop.myshopify.com/admin/oauth/access_token resulted in a 400 Bad Request。我正在使用最新版本的 Guzzle HTTP 客户端和 Chrome,Windows 8.1。更奇怪的是,它以前也有效。

$client = new Client();
    try{
    $response = $client->request(
        'POST', 
        "https://{$store}/admin/oauth/access_token",
        [
            'form_params' => [
                'client_id' => $api_key,
                'client_secret' => $secret_key,
                'code' => $query['code']
            ]
        ]
    );
    }catch(Exception $e){
        var_dump($e);
    }

我还检查了所有变量 ($api_key, $secret_key)...它们很好,这意味着它们具有值。我错过的问题可能是什么? TIA

编辑:

原来是注册web hook时的问题。

$response = $client->request(
        'POST', 
        "https://{$store}/admin/webhooks.json",
        [
            'webhook' => [
                'topic' => 'app/uninstalled',
                'address' => 'http://example.com/shopify/uninstall',
                'format' => 'json'
            ]
        ]
    );

此代码会导致错误,但我不知道为什么。

【问题讨论】:

  • 响应正文中没有关于错误的详细信息?仅 400 的 HTTP 响应并没有给我们太多的帮助。至于“它以前工作过”有什么变化?
  • 没有关于错误的详细信息。“客户端错误:POST https://dmt-testing-shop.myshopify.com/admin/oauth/access_token 导致400 Bad Request 响应:(截断...)”这是错误消息。真的什么都没有改变。
  • 我不能肯定 Guzzle Exception 会包括这一点。看看$response->getBody() 我想是的。检查原始标头/响应正文会很好。类似于底层 cURL 的curl_getinfo 。如果没有“真正”改变,它可能与 CA 证书相关联?
  • $response 变量为空。
  • "从 Shopify 发送的 code 参数只能使用一次。"真的?签名中带有时间戳组件的 HMAC?

标签: php shopify access-token webhooks guzzle


【解决方案1】:

我想我明白了。它适合工作然后停止工作:

2018 年 7 月 1 日之后,应用将需要使用 HTTPS Webhook 地址。

见:https://help.shopify.com/en/api/getting-started/webhooks

【讨论】:

  • 我现在在注册 webhook 时遇到了这个错误:Unauthorized` response: {"errors":"[API] Invalid API key or access token (unrecognized login or wrong password)"}跨度>
  • 听起来密钥或访问令牌无效:)
  • 我应该如何将访问令牌传递给服务器?文档没有提到类似的东西。 ://
  • hmm 看起来我必须为访问令牌设置标头。感谢您的帮助!
  • 酷!认为我们都到了那里:)
猜你喜欢
  • 2019-02-18
  • 2023-03-15
  • 2019-02-20
  • 1970-01-01
  • 2023-03-14
  • 2021-01-24
  • 2021-11-26
  • 2012-08-23
  • 1970-01-01
相关资源
最近更新 更多