从授权服务器收到无效响应。 Xero 与 Bagisto 的集成
Posted
技术标签:
【中文标题】从授权服务器收到无效响应。 Xero 与 Bagisto 的集成【英文标题】:Invalid response received from Authorization Server. Xero integration with Bagisto 【发布时间】:2021-10-14 06:25:17 【问题描述】:我需要一些与会计软件 (Xero) 的集成。
订单完成后,它会向 Xero 发送 API 调用以在 Xero 中创建发票。 一旦 Xero 进行对账,即收到付款。它将向 bagisto 发送一个 API 调用来处理付款,并且订单可以发货。
错误: UnexpectedValueException
从授权服务器收到无效响应。预期为 JSON。
public function getAccessToken($grant, array $options = [])
$grant = $this->verifyGrant($grant);
$params = [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
'redirect_uri' => $this->redirectUri,
];
$params = $grant->prepareRequestParameters($params, $options);
$request = $this->getAccessTokenRequest($params);
$response = $this->getParsedResponse($request);
if (false === is_array($response))
throw new UnexpectedValueException(
'Invalid response received from Authorization Server. Expected JSON.'
);
$prepared = $this->prepareAccessTokenResponse($response);
$token = $this->createAccessToken($prepared, $grant);
return $token;
当我调用函数时发生了错误。
$response = $this->getParsedResponse($request);
Video is HERE
【问题讨论】:
嘿 Pritesh,您使用什么库来实现 Xero API?我建议在这里查看官方的 php 库:github.com/XeroAPI/xero-php-oauth2 这可能会让您了解您的实现有何不同。 【参考方案1】:错误清楚地表明您是 JSON 期望来自服务器端。但在您的情况下,服务器无法检测到 JSON 响应。这就是你遇到问题的原因。这里没有 Bagisto 的东西。您只是在集成一些新包。
只需检查您的请求和响应即可。
【讨论】:
以上是关于从授权服务器收到无效响应。 Xero 与 Bagisto 的集成的主要内容,如果未能解决你的问题,请参考以下文章
HTTP响应码403 Forbidden和401 Unauthorized对比
azure api 网关与 AKS 502 集成 - Web 服务器在充当网关或代理服务器时收到无效响应