1

在这里,我为您提供了在发布创建新帐户的请求时遇到错误的完整场景。

我正在使用 Intuit OAuth Access 和 OAuth API 控制台进行测试(使用所有安全令牌)。(https://appcenter.intuit.com/Playground/OAuth)

以及 URL 和请求:

URL: https://services.intuit.com/sb/account/v2/570357960

方法:发布

格式:XML/JSON

Request:

<?xml version="1.0" encoding="UTF-16"?><Add xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RequestId="4df87bw2-916a-

4r95-h5d6-06dce3667562" 

xmlns="http://www.intuit.com/sb/cdm/v2"><ExternalRealmId>570357960</ExternalRealmId><Objectxsi:type="Account"><Name>CurrentAccount</Name><Active>true</Active><Type>Expense<

/Type><Subtype>Expense</Subtype><AcctNum>1111</AcctNum></Object></Add>

并获得响应(html 中的错误):

 <div class="content-container"><fieldset>
  <h2>500 - Internal server error.</h2>
  <h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3>

而且我还检查了 RESTClient 实用程序,但得到了相同的上述错误。

请注意,具有相同安全令牌的相同 url (https://services.intuit.com/sb/account/v2/570357960) 对于 GET data 工作正常,我正在从 QB 桌面获取数据到我的在线应用程序中。

4

3 回答 3

1

正如基思所说,检查内容类型。您还需要使用 RestClient 进行测试。Playground 不适用于测试 API 调用。它仅适用于平台调用。

于 2013-01-22T13:23:00.503 回答
0

如果我不得不猜测...我猜您发送了错误的 Content-Type 标头...但是在您发布更多代码/其余 HTTP 请求之前,无法确定。

于 2013-01-21T20:48:26.747 回答
0

有几件事要尝试。确保 XML 与此示例的顺序相同并尝试一下。另一个是您在 GET 中使用 Oauth 时的常见错误,您只在签名中包含 url,但在 POST 中,您也需要在签名中包含 Body,否则它将无法通过 Oauth 验证。

最后,正如 Keith 提到的检查内容类型。尽管您通常会收到内容类型错误。

156234822 CurrentAccount true 费用 费用 1111

于 2013-01-22T13:21:40.773 回答