Quickbook 发票创建 returns 400 错误请求(SANDBOX、Quickbook Online、C# MVC、OAuth 2.0)

Quickbook invoice create returns 400 bad request (SANDBOX, Quickbook Online, C# MVC, OAuth 2.0)

好吧,我正在创建 Quickbook 在线条目,但由于某种原因我遇到了错误(400 错误请求)。

我知道我的请求中有些内容无效,但我无法弄清楚。我正在使用沙盒帐户。我已经从 API 资源管理器复制了默认数据并仅使用此数据发出请求,最后得到 400 个错误请求。

我的代码可以很好地处理 "Select * from invoice" 查询请求。

基础URL我用的sandbox-quickbooks.api.intuit.com

我的代码如下:-

var principal = User as ClaimsPrincipal;
Session["realmId"] = XXXXXXX;
var result = new HttpResponseMessage();

if (Session["realmId"] != null)
{
    string realmId = Session["realmId"].ToString();

    string qboBaseUrl = ConfigurationManager.AppSettings["QBOBaseUrl"];

    //add qbobase url and query
    string uri = string.Format("{0}/v3/company/{1}/invoice", qboBaseUrl, realmId);

    try
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Accept", "application/json;charset=UTF-8");
        client.DefaultRequestHeaders.Add("ContentType", "application/json;charset=UTF-8");
        client.DefaultRequestHeaders.Add("Authorization", "Bearer " + Session["AccessToken"]);
        result = await client.PostAsync(uri, new StringContent(JsonData, System.Text.Encoding.UTF8, "application/json"));

        return result;
    }
    catch (Exception ex)
    {
        return result;
    }
}
else
    return result;

检查响应正文,看看它是否提供了有关请求错误的任何详细信息。

//...

var responseContent = await result.Content.ReadAsStringAsync();

//...