Das ist alles, es war nur mein Fehler, nicht die API-Spezifikation von Accounting Freee.
ACCESS_TOKEN wurde mit OAuth 2.0 erworben. Stellen Sie die Parameter wie folgt ein
BASE_URL = 'https://api.freee.co.jp'
MY_COMPANY_ID = '*********'
USE_ACCESS_TOKEN_HEADER = {
"accept" => "application/json",
"Authorization"=> "Bearer *************************"
}
Ich drücke die API, um die Details des Geschäftspartners wie folgt zu erhalten (Es ist eine ziemlich einfache Methode, die leicht zu verstehen ist)
def get_torihikisaki_id(name)
uri = URI.parse(BASE_URL + '/api/1/partners')
uri.query = URI.encode_www_form({"company_id" => MY_COMPANY_ID ,'keyword'=> name})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
headers = USE_ACCESS_TOKEN_HEADER
response = http.get(uri.path, headers)
res_hash = JSON.parse(response.body)
end
puts get_torihikisaki_id('hoge Co., Ltd.')
Die Antwort war so.
{"status_code"=>400, "errors"=>[{"type"=>"validation", "messages"=>["company_ID ist nicht angegeben."]}]}
Ich gebe company_id ~ an ich wundere mich warum Ich habe viel nachgedacht.
Dieser Satz
response = http.get(uri.path, headers)
Die HTTP-Kommunikation wurde nur mit uri.path durchgeführt. Ich benutze es nicht, um die Abfrage zu setzen ... Korrekt
response = http.get(uri.request_uri, headers)
Wenn Sie Parameter mit GET in URL einbetten, müssen Sie diese ordnungsgemäß verwenden ...
Jeden Tag gewidmet
Recommended Posts