Utiliser la clé API dans HTTParty
-
28-10-2019 - |
Question
J'essaye d'accéder à un service qui utilise le format url.www.example.com/api/API_KEY/action
Le code ci-dessous est un petit exemple de ce que j'essaie d'accomplir.
require 'httparty'
class MyAPI
include HTTParty
debug_output $stdout
base_uri "example.com/api/#{@api_key}"
def initialize(api_key)
@api_key = api_key
end
def statistics
return self.class.get("/statistics")
end
end
La requête du serveur:
MyAPI.new('apikey').statistics
sort comme
GET /api//statistics
Je savais que c'était optimiste mais j'ai mis la variable api_key dans le base_uri.Comment puis-je faire en sorte que l'URL utilise la clé dynamique api_key?
La solution
Il vous manque une méthode de lecture pour @api_key.
Ajoutez ce qui suit à votre classe pour autoriser la configuration de @api_key après l'initialisation.
attr_accessor :api_key
Ou ajoutez pour permettre sa lecture, mais pas plus tard.
attr_reader :api_key
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow