Ruby on rails QuickBooks API创建客户POST请求失败
我想通过quickbooks API创建一个客户 第一件事GET请求一切正常。 但是当我尝试一个帖子时,我得到了一个请求 错误代码=“100”>一般身份验证错误 这是Oauth2令牌=>Ruby on rails QuickBooks API创建客户POST请求失败,ruby-on-rails,api,post,request,quickbooks-online,Ruby On Rails,Api,Post,Request,Quickbooks Online,我想通过quickbooks API创建一个客户 第一件事GET请求一切正常。 但是当我尝试一个帖子时,我得到了一个请求 错误代码=“100”>一般身份验证错误 这是Oauth2令牌=> at = OAuth2::AccessToken.new(::QB_OAUTH2_CONSUMER, acces_token) 这是新的客户=> new_customer = { "BillAddr": { "Line1": "10 rue Des Champs", "C
at = OAuth2::AccessToken.new(::QB_OAUTH2_CONSUMER, acces_token)
这是新的客户=>
new_customer =
{
"BillAddr": {
"Line1": "10 rue Des Champs",
"City": "Paris",
"Country": "FRANCE",
"CountrySubDivisionCode": "FR",
"PostalCode": "75020"
},
"Notes": "Just a test",
"Title": "Mr",
"GivenName": "John",
"MiddleName": "",
"FamilyName": "Doe",
"Suffix": "",
"FullyQualifiedName": "John Doe",
"CompanyName": "DonwtownLA",
"DisplayName": "DonwtownLA",
"PrimaryPhone": {
"FreeFormNumber": "0123456789"
},
"PrimaryEmailAddr": {
"Address": "johndoe@gmail.com"
}
}
这是URL=>
at.post("https://quickbooks.api.intuit.com/v3/company/#{realm_id}/customer")
任何人都可以帮我,我看不出我做错了什么
提前谢谢。请用邮递员打电话。下面的博客文章应该会有所帮助。 请检查您是否将内容类型作为“application/json”传递。好的,我知道了 以下是从Quickbooks控制器创建用户的代码
def create_qb_customer
data =
{
"Notes": "This is from Darta",
"GivenName": "#{params[:first_name]}",
"FamilyName": "#{params[:last_name]}",
"CompanyName": "#{params[:company]}",
"PrimaryEmailAddr": {
"Address": "#{params[:email]}"
}
}
realm_id = QbToken.last.realm_id
url = URI("https://sandbox-quickbooks.api.intuit.com/v3/company/#{realm_id}/customer/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Authorization"] = "Bearer #{QbToken.last.serial}"
request["Cache-Control"] = 'no-cache'
request["Postman-Token"] = 'XXXXXX-cf4c-XXXXX-8d7c-XXXXXXXXX'
request.body = data.to_json
response = http.request(request)
p response.read_body
flash.notice = "Your QuickBooks customer is successfully created !"
redirect_to list_all_project_path
end
谢谢你的回复,为什么我要用邮递员呢?我像这样传递数据=>at.post(url,data)Thanks我尝试了一下Postman我得到了完全相同的错误=>General身份验证错误AuthenticationErrorGeneral:Internal Server error,statusCode:500 Postman是API测试的标准工具。这就是为什么我们建议使用它。我知道你已经提出了支持票。请分享邮递员屏幕截图。您好,谢谢您的回复!这是来自postman的2个屏幕截图,一个成功地发出GET请求,另一个发出POST请求时出错。谢谢乔丹,不客气。只是想知道问题是否与缺少的内容类型或其他内容有关?谢谢,玛纳斯