[RUBY] Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee

Lors de la spécification d'une requête avec GET, communiquons correctement http avec uri.request_uri

C'est tout, c'était juste mon erreur, pas la spécification API de comptabilité freee.

Frappé avec du rubis

ACCESS_TOKEN a été acquis avec OAuth 2.0. Définissez les paramètres comme ceci

BASE_URL = 'https://api.freee.co.jp'
MY_COMPANY_ID = '*********'
USE_ACCESS_TOKEN_HEADER = {
  "accept" => "application/json",
  "Authorization"=> "Bearer *************************"
}

J'ai frappé l'API pour obtenir les détails du partenaire commercial comme suit (C'est une méthode assez simple et facile à comprendre)

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.')

La réponse était comme ça.

{"status_code"=>400, "errors"=>[{"type"=>"validation", "messages"=>["company_id n'est pas spécifié."]}]}

Je spécifie company_id ~ je me demande pourquoi J'ai beaucoup réfléchi.

Cause

Cette phrase

response = http.get(uri.path, headers)

La communication HTTP a été effectuée uniquement avec uri.path. Je ne l'utilise pas pour définir la requête ... Correctement

response = http.get(uri.request_uri, headers)

Lors de l'incorporation de paramètres dans l'url avec GET, vous devez l'utiliser correctement ...

Dédié chaque jour

Recommended Posts

Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
Ce à quoi j'étais accro avec l'API REST Redmine
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
L'histoire à laquelle j'étais accro lors de la création de STS
J'étais accro à la méthode du rouleau
J'étais accro au test Spring-Batch
Ce à quoi j'étais accro lors de la mise en œuvre de l'authentification Google avec des rails
J'étais accro au paramètre API version min23 de registerTorchCallback
[Rails] J'étais accro aux paramètres nginx lors de l'utilisation d'Action Cable.
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
J'étais accro à NoSuchMethodError dans Cloud Endpoints
J'étais accro au record du modèle associé
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Notez que j'étais accro aux paramètres du projet Android d'IntelliJ IDEA
Ce à quoi j'étais accro en utilisant rspec sur des rails
J'étais accro à la mise à jour de la déclaration dans MyBatis
J'étais accro au réglage de laradock + VSCode + xdebug
J'étais étrangement accro à l'utilisation de l'API Stream de Java avec Scala
J'étais accro au démarrage de sbt
J'ai essayé de résumer ce qui était demandé lors de l'édition site-java-
Une note quand j'étais accro à la conversion d'Ubuntu sur WSL1 en WSL2
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
J'étais accro à la réécriture sur @ SpringApplicationConfiguration-> @SpringBootTest
J'ai essayé de résumer l'API Stream
Ce que j'ai pensé en passant la valeur d'entrée de l'utilisateur à la classe Service
J'étais accro à l'idée de toucher MySQL 8.0 avec un sentiment de 5.7. Problème de configuration My.cnf
Enregistré parce que j'étais accro à l'entrée standard de la classe Scanner
J'étais accro au scrollview car je ne pouvais pas appuyer sur la taille variable UIView
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]
J'étais accro aux tests unitaires avec l'opérateur de tampon dans RxJava
Ce que j'ai essayé quand je voulais obtenir tous les champs d'un haricot
J'étais accro à faire onActivityResult () avec DialogFragment
J'étais accro à ne pas pouvoir me connecter à AWS-S3 à partir du conteneur Docker
J'étais un peu accro à la comparaison S3 Checksum, alors prenez note.
Quand j'ai voulu créer une méthode pour Premium Friday, c'était déjà dans l'API standard Java 8
Ce que j'ai fait lorsque j'ai converti Java en Kotlin
Notez que j'étais accro au traitement par lots avec Spring Boot
[Résumé] Ce que j'ai remarqué et fait quand on m'a dit que le JDK Oracle était payé
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
Je veux accéder à l'API avec Rails sur plusieurs docker-composes configurés localement
Une histoire à laquelle j'étais accro lors de l'obtention d'une clé qui a été automatiquement essayée sur MyBatis
Que faire lorsque le certificat SSL a expiré
Que dois-je faire pour recharger le Dockerfile mis à jour?
Lorsque j'ai essayé de faire défiler automatiquement avec JScrollBar, le gestionnaire d'événements n'a été dessiné qu'une seule fois.
J'étais accro à WSl en essayant de créer un environnement de développement d'applications Android avec Vue.js
J'étais accro à la configuration de default_url_options avec l'introduction de la conception de Rails
Je souhaite utiliser l'API Java 8 DateTime lentement (maintenant)
Causes techniques et contre-mesures pour les points auxquels j'étais accro avec la première application Android et Kotlin
[Rails] Comment résoudre ActiveSupport :: MessageVerifier :: InvalidSignature auquel j'étais accro lors de l'introduction de la connexion Twitter [ActiveStorage]
[Mots qui m'ont été écrits lorsque j'étais en première année ⑦] Ce que je veux que vous incluiez au moins avec l'extension Visual Studio Code
Je savais ce qu'était la réflexion
[Circle CI] Une histoire à laquelle j'étais accro chez Start Building
Que faire lorsque les modifications du servlet ne sont pas reflétées