自定义 PHP 应用程序出现缺少授权密钥错误

问题描述 投票:0回答:2

我正在尝试在我的 Shopify 后台构建自定义 Shopify 应用程序。

我正在使用Shopify的官方PHP库

我已成功初始化库。

现在,当我尝试连接到 API 时,出现以下错误:

致命错误:未捕获 Shopify\Exception\MissingArgumentException:/www/doc/www.sozialstar.de/www/script/vendor/shopify/shopify-api/src/Auth/OAuth.php:226 中的标头数组中缺少授权密钥堆栈跟踪:#0 /www/doc/www.sozialstar.de/www/script/vendor/shopify/shopify-api/src/Utils.php(160): Shopify\Auth\OAuth::getCurrentSessionId(Array, Array, true) #1 /www/doc/www.sozialstar.de/www/script/shopifytest.php(29): Shopify\Utils::loadCurrentSession(Array, Array, true) #2 {main} 扔进 /www/doc /www.sozialstar.de/www/script/vendor/shopify/shopify-api/src/Auth/OAuth.php 第 226 行

这是我的 PHP 代码:

$requestHeaders = array('api_version'=>'2022-10', 'X-Shopify-Access-Token'=>'mytoken');
$requestCookies = array();
$isOnline = true;

$this->test_session = Utils::loadCurrentSession(
    $requestHeaders,
    $requestCookies,
    $isOnline
);

我是根据 Shopify API 文档来执行此操作的。

为什么不起作用?

php shopify access-token shopify-api
2个回答
0
投票

PHP 的 Shopify API 似乎希望您 设置

Authorization
标头字段/不支持
X-Shopify-Access-Token
。试试这个:

$requestHeaders = array(
                       'api_version'=>'2022-10', 
                       'Authorization'=>'Bearer YOUR_ACCESS_TOKEN'
                      );

0
投票

我遇到了同样的问题,我已经找到了解决方案。不幸的是,Shopify 的 PHP API 文档没有对此进行解释,但 Shopify 的管理界面在

id_token
GET 查询参数中发送 JWT 令牌。您需要将其值作为授权标头添加到 headers 数组中。 完整代码:

$requestHeaders = array('api_version'=>'2022-10', 'X-Shopify-Access-Token'=>'mytoken');

// add these two lines
$token = $_GET['id_token'];
$requestHeaders['Authorization'] = "Bearer $token";

$requestCookies = array();
$isOnline = true;

$this->test_session = Utils::loadCurrentSession(
    $requestHeaders,
    $requestCookies,
    $isOnline
);
© www.soinside.com 2019 - 2024. All rights reserved.