在这里,我提供了一个完整的方案,我在发布创建新帐户的请求时收到错误。
我正在使用Intuit OAuth Access和OAuth API控制台进行测试(使用所有安全令牌)。(https://appcenter.intuit.com/Playground/OAuth)
以及网址和请求:
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实用程序进行了检查,但得到了相同的错误。
请注意相同的网址 (https://services.intuit.com/sb/account/v2/570357960)也一样 安全令牌对于GET数据工作正常,我从中获取数据 QB桌面进入我的在线应用程序。
答案 0 :(得分:1)
正如基思所说,检查内容类型。您还需要使用RestClient进行测试。操场不适用于测试API调用。它仅适用于平台调用。
答案 1 :(得分:0)
如果我不得不猜测...我猜你发送了错误的Content-Type标题......但是在你发布更多代码/其他HTTP请求之前,我们无法确定。
答案 2 :(得分:0)
要尝试的一些事情。确保XML与此示例的顺序相同并进行尝试。 另一个是在GET中使用Oauth时常见的错误,你只包含签名中的url,但在POST中你需要将Body包含在签名中,否则它将不会通过Oauth验证。
最后,正如Keith提到的那样检查内容类型。虽然您通常会收到内容类型错误。
156234822 CurrentAccount 真正 费用 费用 1111