我正在调用QuickBooks API,我还有许多其他正常工作的查询,所以我相信它不是我的OAuth库或任何基本框架。但这是我第一次尝试进行过滤查询,因此它可能是特定于此类查询的内容。我正在向https://services.intuit.com/sb/customer/v2/realmid发出POST请求(是的,使用我的真实域ID),并使用以下xml作为请求的主体:
<?xml version="1.0" encoding="UTF-8"?>
<CustomerQuery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.intuit.com/sb/cdm/v2">
<FirstLastInside>bla</FirstLastInside>
</CustomerQuery>
这是我得到的回应:
<?xml version="1.0" ?>
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2">
<Error RequestId="3f7113681b0749fc97644b6c4486985f">
<RequestName>ErrorRequest</RequestName>
<ProcessedTime>2013-07-01T16:08:40.230Z</ProcessedTime>
<ErrorCode>-2001</ErrorCode>
<ErrorDesc>Premature end of file.</ErrorDesc>
</Error>
</RestResponse>
任何想法,任何人?
答案 0 :(得分:3)
正确的网址是https://services.intuit.com/sb/customer/v2/ {realmid}。所以@Blair你确实有正确的URL。该错误是intuit服务器返回的有效错误。
API资源管理器可以在那里试用您的凭据和令牌。您可以在oauth库中使用这些令牌并进行比较,以确保您的帖子类似于api explorer中发布的帖子。显然,生成的oauth标头本身不匹配但是没关系。
我们的想法是将您在标题和有效负载中发布的内容与apiexplorer正在做的事情进行比较,以便您更好地了解问题。请尝试并告诉我们是否解决了这个问题。
答案 1 :(得分:1)
你能否使用ApiExplorer工具(QBD)试试这个电话。
链接 - https://developer.intuit.com/apiexplorer?apiname=V2QBD
PFB快照
如果它适合您,请告诉我。
编辑添加端点和帖子正文。它运作良好
Endpoint - https://services.intuit.com/sb/customer/v2/<relam-id>
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CustomerQuery xmlns="http://www.intuit.com/sb/cdm/v2">
<FirstLastInside>Manas</FirstLastInside>
</CustomerQuery>