【发布时间】: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