[RUBY] Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf

Wenn Sie eine Abfrage mit GET angeben, kommunizieren wir http ordnungsgemäß mit uri.request_uri

Das ist alles, es war nur mein Fehler, nicht die API-Spezifikation von Accounting Freee.

Mit Rubin schlagen

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.

Ursache

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

Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was ich mit der Redmine REST API süchtig gemacht habe
Eine Geschichte, der ich beim Testen der API mit MockMVC verfallen war
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Ich war süchtig nach der Rollmethode
Ich war süchtig nach dem Spring-Batch-Test
Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Ich war süchtig nach der API-Version min23 von registerTorchCallback
[Rails] Ich war süchtig nach den Nginx-Einstellungen, als ich Action Cable verwendete.
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Beachten Sie, dass ich von den Einstellungen des Android-Projekts von IntelliJ IDEA abhängig war
Wovon ich süchtig war, als ich rspec auf Schienen benutzte
Ich war süchtig danach, die Update-Anweisung in MyBatis zu wiederholen
Ich war süchtig nach Laradock + VSCode + xdebug
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden
Ich war süchtig danach, sbt zu starten
Ich habe versucht zusammenzufassen, was bei der Site-Java-Ausgabe gefragt wurde.
Ein Hinweis, als ich süchtig danach war, Ubuntu auf WSL1 in WSL2 zu konvertieren
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben
Ich habe versucht, die Stream-API zusammenzufassen
Was ich dachte, als ich den Eingabewert des Benutzers an die Service-Klasse übergab
Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem
Aufgenommen, weil ich süchtig nach der Standardeingabe der Scannerklasse war
Ich war süchtig nach Scrollview, weil ich nicht auf die UIView mit variabler Größe tippen konnte
[Circle CI] Ich war süchtig nach dem automatischen Test von Circle CI (Rails + MySQL) [Memo]
Ich war süchtig nach Unit-Tests mit dem Pufferoperator in RxJava
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte
Ich war süchtig danach, onActivityResult () mit DialogFragment zu machen
Ich war süchtig danach, vom Docker-Container aus keine Verbindung zu AWS-S3 herstellen zu können
Ich war ein wenig süchtig nach dem S3-Prüfsummenvergleich, machen Sie sich also eine Notiz.
Als ich eine Methode für Premium Friday erstellen wollte, war sie bereits in der Java 8-Standard-API enthalten
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
[Zusammenfassung] Was ich bemerkt und getan habe, als mir gesagt wurde, dass das Oracle JDK bezahlt wurde
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
Ich möchte die API mit Rails auf mehreren lokal eingerichteten Docker-Composes treffen
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Was tun, wenn das SSL-Zertifikat abgelaufen ist?
Was muss ich tun, um die aktualisierte Docker-Datei neu zu laden?
Als ich versuchte, mit JScrollBar automatisch zu scrollen, wurde der Ereignishandler nur einmal gezeichnet.
Ich war süchtig nach WSl, als ich versuchte, mit Vue.js eine Entwicklungsumgebung für Android-Anwendungen zu erstellen
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Ich möchte die Java 8 DateTime-API (jetzt) langsam verwenden.
Technische Ursachen und Gegenmaßnahmen für die Punkte, denen ich mit der ersten Android-App und Kotlin verfallen war
[Rails] So lösen Sie ActiveSupport :: MessageVerifier :: InvalidSignature, von dem ich bei der Einführung des Twitter-Logins abhängig war [ActiveStorage]
[Wörter, die mir geschrieben wurden, als ich in der ersten Klasse war ⑦] Was ich möchte, dass Sie zumindest in die Visual Studio Code-Erweiterung aufnehmen
Ich wusste, was Reflexion war
[Circle CI] Eine Geschichte, der ich bei Start Building verfallen war
Was tun, wenn die Änderungen im Servlet nicht berücksichtigt werden?