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();
//...
好吧,我正在创建 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();
//...