【问题标题】:When using Quickbooks Online API Collections for Postman I'm getting an Authentication Error使用 Quickbooks Online API Collections for Postman 时出现身份验证错误
【发布时间】:2017-08-16 19:11:48
【问题描述】:

我已完成https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000300_your_first_request/first_request_with_postman#/Configuring_the_Postman_Authorization_header-1500 此处显示的步骤,以使用 Quickbook 的邮递员 API 集合。

在 Postman 中,我成功获得了新的访问令牌。我还将 {{baseurl}} 更新为 "sandbox-quickbooks.api.intuit.com",并更新了 {{companyid}}(又名“RealmId”)为适当的值,如开发者网站的“管理沙盒”页面所示(即https://developer.intuit.com/v2/ui#/sandbox)。

但是当我在“Customer-ReadById”查询(或集合中的任何其他查询)上单击“发送”时,我收到以下身份验证错误:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2017-08-16T11:52:00.611-07:00">
    <Fault type="AuthenticationFault">
        <Error code="100">
            <Message>General Authentication Error</Message>
            <Detail>AuthenticationErrorGeneral: SRV-110-Authentication Failure , statusCode: 401</Detail>
        </Error>
    </Fault>
</IntuitResponse>

我的下一步是验证我是否可以使用开发人员网站上的 OAuth 2.0 Playground 工具查询我的沙箱,我确实可以这样做。

然后我的问题是:为什么我在 Postman 中收到此身份验证错误?我错过了一步吗?还是 Quickbooks Online API 中的某些更改尚未记录在案?

编辑:经过大量试验和错误后,我已经设法解决了我自己的问题,并根据 Quickbooks Online 帮助区域中的回复提供了提示。

对于那些可能觉得这很有用的人,我的解决方案是请求一个新的访问令牌(单击 Postman 中的“获取新访问令牌”)并更新“范围”部分以包含“openid”,以便空格分隔列表读取: com.intuit.quickbooks.accounting openid 个人资料电子邮件电话地址

将这个新令牌与更新的范围一起使用使我能够获得所需的结果。

【问题讨论】:

    标签: api oauth-2.0 postman quickbooks-online


    【解决方案1】:

    我遇到了同样的问题,但我以不同的方式解决了它。我的问题是,在请求的令牌中,“将令牌添加到”的默认设置是 URL,但似乎 API 要求令牌位于授权标头中。将其更改为“标题”就可以了。

    对于“Customer-ReadById”端点,唯一需要的范围是 com.intuit.quickbooks.accounting。我的猜测是您在反复试验中将其更改为 Header。

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 2015-11-28
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多