精确的在线API返回XML错误

时间:2017-03-31 13:29:27

标签: json guzzle exact-online

我做什么

我对以下内容感到很困惑。

  • 我已通过Exact Online oAuth2(工作)
  • 登录
  • 我已重定向到设置重定向网址(正常工作)
  • 现在,我正在执行创建CRM帐户的POST请求

https://start.exactonline.com/api/v1/1645882/crm/Accounts

带标题的

  • 授权:Bearer MY_TOKEN
  • Content-Type:application / json

使用json数据:

{
    "Name": "James Fellows",
    "Code": "JF"
}

代码(简化)

$this->client->request('POST', 'https://start.exactonline.com/api/v1/1645882/crm/Accounts', ['headers' => ['Authorization' => 'Bearer MY_TOKEN']], ['json' => json_encode(['Name' => 'James Fellows', 'Code' => 'JF'])]);

问题

现在问题。我总是得到这个错误:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">\r\n
    <code></code>
    <message xml:lang="">Error processing request stream. JSON text specified is not valid.
</message>
</error>

文档

我使用了以下api文档:

2 个答案:

答案 0 :(得分:1)

如果您使用json_encode()选项,请不要使用json作为您的数据。此选项接受一个数组并在内部自动对其进行编码。

答案 1 :(得分:0)

您应该省略ID字段。该字段将自动填充。

您的JSON格式也存在一些问题(引用具体)。这应该做:

{ Code : 'JF'
, Name : 'Jeff Fellows'
}