2

尝试创建时间记录并引发错误:

<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<TxnDate>2013-02-18-07:00</TxnDate>
<Employee>
    <EmployeeId idDomain="QBO">2</EmployeeId>
</Employee>
<CustomerId>3</CustomerId>
<ItemId>1</ItemId>  
<StartTime>2013-02-18T11:45:00-07:00</StartTime>
<EndTime>2013-02-18T13:15:00-07:00</EndTime>  
<HourlyRate>10.5</HourlyRate>
<BillableStatus>Billable</BillableStatus>
<Hours>10</Hours>
<Description>This is a Description</Description>
</TimeActivity>

其他信息包括: 1. 有效的 OAuth 签名,适用于其他请求。2. 内容类型设置为 application/xml 3. URL https://qbo.intuit.com/qbo28/resource/time-activity/v2/actual_real_id 4. Http 方法设置为 POST

返回的错误是无效的 OAuth 签名,这具有误导性,因为相同的 OAuth 标头适用于所有其他请求。

另外,我只是根据您的文档尝试了不同的请求,但结果相同

<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<TxnDate>2013-02-18-07:00</TxnDate>
<Employee>
    <EmployeeId idDomain="QBO">2</EmployeeId>
</Employee>
<CustomerId>3</CustomerId>
<ItemId>1</ItemId>  
<BillableStatus>NotBillable</BillableStatus>
<Hours>8</Hours>
<Minutes>0</Minutes>
<StartTime>2013-02-18T11:45:00-07:00</StartTime>
<EndTime>2013-02-18T13:15:00-07:00</EndTime>
</TimeActivity>
4

2 回答 2

3

浏览器的 REST 客户端在 Oauth 和 POST 方面存在问题,它无法正确生成包含正文内容的签名。

用 API Explorer 试试,它应该可以正常工作。
http://apiexplorer.developer.intuit.com

问候,
杰瑞德

于 2013-02-20T13:10:36.783 回答
1

您使用的 URL 看起来不正确。

您正在使用此网址:

https://qbo.intuit.com/qbo28/resource/time-activity/v2/

缺少领域 ID。它应该看起来像:

https://qbo.intuit.com/qbo28/resource/time-activity/v2/12341234 _

12341324 是您的领域 ID。我不确定这是您正在使用的 DevKit 中的错误还是只是您的代码中的错误,但这将是开始研究的地方。

于 2013-02-19T17:53:57.350 回答