从授权服务器收到无效响应。 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 服务器在充当网关或代理服务器时收到无效响应

“502错误网关,服务器作为网关或代理,从上游服务器收到了无效的响应”怎么处理?谁能帮我?

来自服务器的 OAuth2“无效授权”响应

GCM 响应是无效的 Android 应用注册 ID

从 PayPal 的沙盒 IPN 获得无效响应