【问题标题】:How can I get my Square Connect location without using command line如何在不使用命令行的情况下获取我的 Square Connect 位置
【发布时间】:2017-01-16 23:35:42
【问题描述】:

首先我想说我已经广泛搜索,包括 google、connect.squareup.com 和 Stack Overflow,但找不到我的问题的答案。我已经向 Square 支持人员提出了这个问题,并且(尽管我提到我无法访问命令行并且已经完成了下面提到的教程,但我被定向到所述教程并被告知使用我无法使用的命令行。这是我的问题...

我正在尝试在网络服务器上为客户端设置方形连接 API。在网络服务器上,我无法访问命令行(或 SSH,无需客户端额外费用)。我发现获取 location_id 的唯一方法需要命令行(据我所知)。有没有办法不必使用命令行?或者有没有其他方法可以在没有命令行访问的情况下输入所需的命令?

这是我到目前为止所做的:

我在某处(不记得现在在哪里)读到您可以在本地安装 composer,在您的机器上使用命令行安装 square-connect 所需的依赖项,然后将所有文件移动到您的服务器。我这样做是为了获取服务器上的文件。

我的文件结构如下所示: 支付门户/ 小贩/ 作曲家/ 正方形/ 自动加载.php 作曲家.json 作曲家.json 作曲家锁 作曲家.phar 位置-test.php 进程卡.php

locations-test.php 包含:

<?php
require 'vendor/autoload.php';
$access_token = "ACCESS_TOKEN";
$location_api = new \SquareConnect\Api\LocationApi();
echo $location_api->listLocations($access_token);

注意:ACCESS_TOKEN 已替换为我的个人访问令牌。

粗略地说,如果我在 mywebpage.com/payment-portal/locations-test.php 访问这个文件,我会得到一个空白页面。

另外,我在错误日志中没有收到任何错误。

获取位置的方法已列明here。 在“检索您的位置 ID”下。到目前为止我还可以,但我无法在服务器中使用命令行来使用代码:

php locations-test.php

获取 location_id 的其他选择是什么?我错过了什么?

提前感谢任何帮助或指导!

【问题讨论】:

  • 如果您得到一个空白页面,这可能意味着两件事中的一件。脚本不产生任何输出(在这种情况下,您将从服务器获得 HTTP 200 OK 响应代码),或者脚本以错误结束,但您关闭了 display_errors(在这种情况下,服务器 应该以 HTTP 500 内部错误响应代码响应)。有关详细信息,请参阅stackoverflow.com/a/33665510/1878262
  • 感谢您的快速回复,@Sherif!我已经为该站点打开了错误报告,这是输出:
  • 对不起,太长了。我会发布一个链接是第二个。
  • 这里是文件的链接:1drv.ms/t/s!AlxoxUJLRzvMhSZuQEhvX2qJX1pb
  • 我同意@Sherif 的观点,认为这可能是网络问题。您是否尝试过在本地 PHP 环境中运行代码?

标签: php square-connect


【解决方案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 部分替换为您自己的访问令牌。

【讨论】:

  • 我按照你说的做了修改,但我仍然收到上面列出的相同错误消息。
  • 我确实意识到上面的文件有 listLocationsWithHttpInfo(''),但新文件有 ('Bearer sq......')
  • 这可能是网络问题。确保您正在运行此 PHP 的服务器没有阻塞的传出端口。尝试向主机提供商寻求帮助。
  • 访问令牌中是否包含'Bearer'实际上并不重要。感谢您指出不一致之处!
  • @Sherif - 我会检查网络服务器,看看是否有任何阻塞的传出端口可能会阻止这种情况,我会尽快回复大家!非常感谢所有的帮助!
猜你喜欢
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
相关资源
最近更新 更多