我想首先说我已经广泛搜索过,包括谷歌,connect.squareup.com和Stack Overflow,但无法找到我的问题的答案。我已经向Square支持提出了这个问题,并且(尽管我提到我无法访问命令行并且已经完成了下面提到的教程,但是我被引导到所说的教程并告诉我使用命令行,我可以&#t; t使用。这是我的问题......
我正在尝试在客户端的Web服务器上设置square connect API。在Web服务器上,我无法访问命令行(或SSH而无需客户端的额外费用)。我找到获取location_id的唯一方法需要命令行(据我所知)。有没有办法不必使用命令行?或者是否有另一种方法可以在没有命令行访问的情况下输入所需的命令?
这是我到目前为止所做的:
我在某处(无法记住现在)可以在本地安装composer,在您的计算机上使用命令行来安装square-connect所需的依赖项,然后将所有文件移动到您的服务器。我这样做是为了获取服务器上的文件。
我的文件结构如下所示: 支付门户/ 供应商/ 作曲家/ 广场/ autoload.php composer.json composer.json composer.lock composer.phar 位置-test.php的 过程card.php
locations-test.php包含:
CMAKE_BUILD_TYPE=Debug
注意:ACCESS_TOKEN已被我的个人访问令牌替换。
粗略的,如果我在mywebpage.com/payment-portal/locations-test.php上访问此文件,我会得到一个空白页。
另外,我在错误日志中没有收到任何错误。
获取地点的方式排列here。 在"检索您的位置ID。"我很好,直到这一点,但我不能在我的服务器中使用命令行来使用代码:
<?php
require 'vendor/autoload.php';
$access_token = "ACCESS_TOKEN";
$location_api = new \SquareConnect\Api\LocationApi();
echo $location_api->listLocations($access_token);
获取location_id的其他选择是什么?我错过了什么?
提前感谢您的任何帮助或指导!
答案 0 :(得分:1)
根据php-sdk you're using for connecting to the square API,$access_token
所需的格式应为"Bearer YOUR_ACCESS_TOKEN"
,而不仅仅是您的访问令牌。
/**
* @param string $authorization The value to provide in the Authorization header of
* your request. This value should follow the format `Bearer YOUR_ACCESS_TOKEN_HERE`.
尝试使用它,看看它是否有效。
require 'vendor/autoload.php';
$access_token = "Bearer ACCESS_TOKEN";
$location_api = new \SquareConnect\Api\LocationApi();
echo $location_api->listLocations($access_token);
当然,不要忘记用您自己的访问令牌替换ACCESS_TOKEN
部分。