Quickbook发票创建返回400错误请求(SANDBOX,Quickbook Online,C#MVC,OAuth 2.0)

时间:2018-04-18 11:58:49

标签: c# quickbooks-online

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

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

我的代码适用于"Select * from invoice"查询请求。

我使用的基本网址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;

1 个答案:

答案 0 :(得分:0)

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

//...

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

//...