Usa la chiave API in httparty
-
28-10-2019 - |
Domanda
Sto cercando di accedere a un servizio che utilizza il formato URL. www.example.com/api/api_key/action
Il codice seguente è un piccolo esempio di ciò che sto cercando di ottenere.
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 richiesta del server:
MyAPI.new('apikey').statistics
esce come
GET /api//statistics
Sapevo che era ottimista ma ho messo la variabile API_KEY in base_uri. Come faccio a farlo in modo che l'URL utilizzi API_Key dinamico?
Soluzione
Ti manca un metodo lettore per @api_key.
Aggiungi quanto segue alla tua classe per consentire l'impostazione di @API_KEY dopo l'inizializzazione.
attr_accessor :api_key
Oppure aggiungi per consentire la lettura, ma non impostato in seguito.
attr_reader :api_key
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow