Ich baue eine Android APP, wo ich die Internet Game Database API über Mashape Marktplatz verwende. Ich verwende Retrofit für die get-Anfragen und das Abrufen von Daten von der API erfordert einen API-Schlüssel.Hinzufügen von Feldern zu URL mit Retrofit
Ich habe es funktioniert, aber die API geben nur Game-IDs zurück und ich möchte die Spielnamen und andere Informationen, aber ich bin mir nicht sicher, wie Sie die Felder hinzufügen. Dies ist, wie es Mashape abfragen:
HttpResponse<String> response = Unirest.get("https://igdbcom-internet-game-database-v1.p.mashape.com/games/?fields=name%2Crelease_dates")
.header("X-Mashape-Key", "API KEY HERE")
.header("Accept", "application/json")
.asString();
und das ist meine Retrofit-Schnittstelle
public interface GamesAPIService {
@GET("/games/")
Call<List<GamesResponse>> gameList(@Query("mashape-key") String apikey);
}
ich diesen
@GET("/games/?fields=name,release_dates")
aber kein Glück zu verwenden versucht, ich habe auch versucht, mit @Field aber hat auch nicht funktioniert. Irgendwelche Ideen? Vielen Dank.
Edit: Nur um zu klären, wenn ich die "?fields=name,release_dates"
Ich bekomme 401 nicht autorisierten Fehler.
Warum haben Sie '@Query (" mashape-key ") String apikey'? Sie haben keinen '? Mashape-key = ...' in der URL ... Der Schlüssel muss ein Header sein, kein Abfrageparameter. –
Ich versuchte @Header, um den Apikey oder in der Aktivität selbst als ".addHeader" zu übergeben und es hat nie funktioniert, aber es funktionierte so aus irgendeinem Grund, also behielt ich es. – Prime47