QuickBooks API Create Customer POST 请求失败



我想通过quickbooks API创建一个客户。

首先,GET请求一切正常。

但是当我尝试 POST 请求时,我得到

错误代码="100">常规身份验证错误

这是 Oauth2 令牌 =>

at = OAuth2::AccessToken.new(::QB_OAUTH2_CONSUMER, acces_token)

这是new_customer=>

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"
   }
  }

这是网址 =>

at.post("https://quickbooks.api.intuit.com/v3/company/#{realm_id}/customer")

任何人都可以为此帮助我,我看不到我做错了什么。

提前谢谢。

好的,

我明白了!

这是从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

请尝试使用邮递员进行通话。以下博客文章应该会有所帮助。https://developer.intuit.com/hub/blog/2017/08/03/quick-start-quickbooks-online-rest-api-oauth-2-0

请检查您是否将内容类型作为"应用程序/json"传递。

最新更新