Eine Geschichte über das Erreichen der League Of Legends-API mit JAVA

Ich habe hart gelernt, also werde ich es verlassen. Da ich gerade studiert habe, weisen Sie bitte auf Fehler oder seltsame Punkte hin. (Besonders streng anders)

Was ich diesmal gelernt habe

Umgebung

Laden Sie die API von lol

Es gibt eine Entwicklerseite, die von Riot Games veröffentlicht wird. Zur Zeit benötigen Sie einen lol-Account (die japanische Version ist ebenfalls akzeptabel). Wenn Sie also keinen haben, besorgen Sie sich einen. https://developer.riotgames.com/ (englische Seite) Hier erhalten Sie den DEVELOPMENT API KEY. Es scheint, dass es nur für 24 Stunden verwendet werden kann.

Wenn Sie es mit einem Dienst wie OP.GG (http://jp.op.gg/) verwenden möchten, können Sie diesen API-SCHLÜSSEL nicht verwenden. Möglicherweise können Sie dies tun, indem Sie oben rechts auf die rote Schaltfläche "Projekt registrieren" klicken. Es scheint, aber diesmal habe ich eine begrenzte verwendet.

Nachdem Sie den API-Schlüssel erfolgreich erworben (kopiert) haben, klicken Sie auf "ERSTE SCHRITTE" in "API-DOKUMENTATION" auf der Registerkarte oben, um ein scheinbares Lernprogramm anzuzeigen. Dieses Mal habe ich die API REGISTERING FOR THE RIOT GAMES ausprobiert. Der Erklärung zufolge können Sie die API erhalten, indem Sie den zuvor erhaltenen API-SCHLÜSSEL am Ende der folgenden URL hinzufügen und mit einem Browser darauf zugreifen.

https://na1.api.riotgames.com/lol/summoner/v3/summoners/by-name/RiotSchmick?api_key=

Wenn die Daten von Riot Schmick angezeigt werden, sind sie erfolgreich. Dieses Mal habe ich Riot Schmicks Spielerinformationen erhalten. Wenn Sie Ihre eigenen Informationen erhalten möchten, ändern Sie den Teil "RiotSchmick" der URL in Ihren Beschwörernamen. Wenn der Server nicht in NA angezeigt wird, ändern Sie den Teil "na1" in Ihren Serverbereich ("jp1" in Japan). Ich werde.

Wenn Sie andere APIs laden möchten, klicken Sie auf der Entwicklerseite auf "API DCUMENTATION" und wählen Sie die Daten aus, die Sie abrufen möchten.

Wenn Sie beispielsweise Championdaten laden möchten, wählen Sie "CHAMPION-V3" auf der linken Registerkarte, klicken Sie auf "/ lol / platform / v3 / champ", wählen Sie eine Option (optional) und klicken Sie auf "EXECUTE REQUEST". Die URL und das Erfassungsergebnis werden angezeigt. Wenn Sie es selbst überprüfen möchten, können Sie die URL kopieren und in Ihrem Browser öffnen. Wenn Sie es zu diesem Zeitpunkt normal öffnen, wird es aufgrund eines Authentifizierungsfehlers abgelehnt. Fügen Sie daher am Ende "& api_key = <erworbener API-SCHLÜSSEL>" hinzu.

Laden Sie die API mit JAVA

Wenn es kein Problem gibt, lesen Sie es mit JAVA. Ich weiß jedoch nicht, wie ich mit JAVA-Zeichenfolgen umgehen soll, daher füge ich einfach den Code ein.

LolApiTest.java


import java.io.*;
import java.net.URL;

public class LolApiTest {
	public static void main(String[] args){
		String region = "na1";
		String apiKey = //Geben Sie hier den erhaltenen API-SCHLÜSSEL ein
		String apiUrl = "https://"+region+".api.riotgames.com/lol/summoner/v3/summoners/by-name/RiotSchmick?api_key="+apiKey;

		try {

			//Ich weiß es hier nicht
			URL url = new URL(apiUrl);

			String newLine = "";		//Holen Sie sich hier eine neue Zeile
			String currentText = "";	//Fügen Sie hier alle erfassten Zeilen hinzu

			//Ich kenne diese beiden nicht
			InputStreamReader isReader = new InputStreamReader(url.openStream());
			BufferedReader bReader = new BufferedReader(isReader);

			//Hinzufügen, bis die erfasste Zeile null wird
			while((newLine = bReader.readLine()) != null){
				currentText = currentText + newLine;
			}

			//Ausgabe am Ende
			System.out.println(currentText);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Wenn dieselbe Ausgabe wie beim Laden durch den Browser ausgegeben wird, ist sie erfolgreich.

Verwenden Sie JSON-Daten in JAVA

Es wird gesagt, dass das Format mit vielen Ausgaben {} und: JSON-Daten heißt. (Bitte sag mir die Details) Es ist mühsam, dies selbst zu lesen und in eine Liste oder ein Array zu legen, also werde ich die Kraft der Bibliothek nutzen. Diesmal habe ich JSON in Java über die unten stehende URL ausgeliehen. Ich denke, es ist okay, weil die Version die neueste ist.

https://mvnrepository.com/artifact/org.json/json

Um die heruntergeladene Bibliothek hinzuzufügen, klicken Sie in Eclipse mit der rechten Maustaste auf das Projekt, wählen Sie "Externes Archiv hinzufügen" unter "Erstellungspfad" und wählen Sie die heruntergeladene Bibliothek aus. Insbesondere habe ich es wie unten gezeigt hinzugefügt und verwendet.

LolApiTest.java


			/*Zuerst weggelassen*/
			import org.json.JSONObject;

			/*Unterlassung*/

			//Erstellen Sie ein JSON-Objekt.
			JSONObject summonerObject = new JSONObject(currentText);

			//Alle ausgeben
			for(String key: summonerObject.keySet()){
				System.out.println(key+": "+summonerObject.get(key));
			}

			/*Die Rückseite ist ebenfalls weggelassen*/

Von den gelesenen JSON-Daten scheint die auf der linken Seite von: wie "accountId" und "profileIconId": als Key bezeichnet zu werden. Der Schlüssel des erstellten Objekts kann mit der keySet-Methode abgerufen werden. Ein Array von Strings wird zurückgegeben. Von den gelesenen JSON-Daten kann die rechts von: mit der get-Methode abgerufen werden. Ich bin nicht sicher, welchen Typ es zurückgeben wird, aber wenn Sie es angeben möchten, können Sie getString usw. verwenden. Geben Sie Key als Argument ein. Bei verschachtelten Listenelementen, die eine Liste enthalten, können Sie diese anscheinend mit object.get (key1) .get (key2) abrufen.

Am Ende

Als ich dachte: "Lass uns das machen!", Gab es keinen Artikel, der den Inhalt genau festlegte (alle waren schwach), also fasste ich ihn zusammen. (Ein trendiger zusammenfassender Artikel?) Ich hoffe, es hilft nachfolgenden Menschen, erstaunliche Tools und Web-Apps (Vokabeln) zu erstellen.

Ich habe immer noch die Möglichkeit, über meine Hobbys hinauszugehen (vielleicht?). Die Sätze sind also schwer zu lesen und der Inhalt ist wahrscheinlich nicht streng. Wie ich zu Beginn schrieb, weisen Sie bitte auf merkwürdige Punkte hin. (Ja wirklich)

Ursprünglich, als ich auf Twitter Programmierprobleme anforderte, sagten mir meine Junioren im Kreis, ich solle die API für die Kosten-Leistungs-Tabelle von lol-Artikeln lesen. Da es fertig ist, kann ich den Code veröffentlichen, wenn ich Lust dazu habe. (Vor allem, weil es wichtig ist, ob es ohne Probleme funktioniert, auch wenn der lol-Patch aktualisiert wird)

Vielen Dank für das Lesen bis zum Ende.

Verweise

Bitte beachten Sie, dass einige Informationen nicht mehr aktuell sind.

――Ich kann dich nicht mehr hören! Was ist eine API? ~ Lernen Sie die Grundlagen der Grundlagen ~ (https://www.sejuku.net/blog/7087)

Das Zugriffsdatum für beide ist der 27. März 2018.

Recommended Posts

Eine Geschichte über das Erreichen der League Of Legends-API mit JAVA
Eine Geschichte über das JDK in der Java 11-Ära
Die Geschichte eines Game Launcher mit automatischer Ladefunktion [Java]
Eine Geschichte, die ich mit der Stream-API von Java8 einem Prozess schreiben wollte, der einer while-Anweisung entspricht
Die Geschichte, einen Reverse-Proxy mit ProxyServlet zu erstellen
Eine Geschichte über die Entwicklung von ROS namens Rosjava mit Java
Die Geschichte von dto, dao-like mit Java, SQLite
[Jackson] Eine Geschichte über das Konvertieren des Rückgabewerts des Big Decimal-Typs mit einem benutzerdefinierten Serializer.
Die Geschichte der Erstellung einer Task-Management-Anwendung mit Swing, Java
Eine Geschichte voller Grundlagen von Spring Boot (gelöst)
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java
Die Geschichte des Erstellens einer Java-Version des Minecraft-Servers mit GCP (und dem Festlegen einer weißen Liste)
Die Geschichte des Refactorings mit einem selbstgemachten Helfer zum ersten Mal in einer Rails-App
[Hinweis] Eine Geschichte über das Ändern von Java-Build-Tools mit VS-Code
Eine Geschichte über die Schwierigkeit, ein Testframework an Java 6 auszurichten
Eine Geschichte, die mit der Einführung von Web Apple Pay zu kämpfen hatte
Über die Behandlung von BigDecimal (mit Reflexion)
Die Geschichte des Schreibens von Java in Emacs
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Die Geschichte des einfachen String-Vergleichs in Java
Die Geschichte eines gewöhnlichen Othello in Java
Eine Geschichte über die Java 11-Unterstützung für Webdienste
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Die Geschichte der Optimierung der Android-App mit libGDX
Eine Geschichte über das Erstellen eines Builders, der den Builder erbt
Die Geschichte des Versuchs, JAVA File zu bedienen
Eine Geschichte, die die Implementierung der SendGrid-Java-Bibliothek bestätigt, wenn die E-Mail-Zustellung fehlschlägt
Überprüfen Sie das ID-Token eines von AWS Cognito in Java authentifizierten Benutzers
[PHP] Geschichte der Ausgabe von PDF mit TCPDF + FPDI
CI die Architektur von Java / Kotlin-Anwendungen mit ArchUnit
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Überwachen Sie den internen Status von Java-Programmen mit Kubernetes
Überprüfen Sie das Verhalten von Java Intrinsic Locks mit bpftrace
Schreiben Sie einen Test, indem Sie die Geschichte von Mr. Nabeats in der Welt mit Rubin umsetzen
Eine Geschichte über den Versuch, mit Mockito auszukommen
[Java] Beim Schreiben der Quelle ... Memorandum ①
Eine Geschichte über die Reduzierung des Speicherverbrauchs auf 1/100 mit find_in_batches
Eine Geschichte über die Einführung von Evolutions in das Play Framework
Träumen Sie davon, einfach eine Web-API für die Datenbank eines vorhandenen Java-Systems zu erstellen
Implementieren wir eine Funktion, um die Anzahl der Zugriffe auf die API mit SpringBoot + Redis zu begrenzen
Eine Übersicht über das native Java-Framework Quarkus von Kubernetes
[Java] Schneiden Sie einen Teil der Zeichenfolge mit Matcher und regulären Ausdrücken aus
Ich habe versucht, ein Tool zum Vergleichen von Amazon-Produktpreisen auf der ganzen Welt mit Java, der Amazon Product Advertising API und der Currency API (29.01.2017) zu erstellen.
Eine Geschichte darüber, wie catkin_make von Rosjava offline kompatibel gemacht wird
Ersetzen Sie nur einen Teil des URL-Hosts durch Java
Die Geschichte, wie ein Docker-Container mit GitHub-Aktionen in die GitHub-Paketregistrierung und den Docker-Hub verschoben wird
[Erster Beitrag] Eine Geschichte über einen zweiten neuen Absolventen der Universität für Leibeserziehung, der ein unerfahrener Programmierer wird
Eine kurze Erklärung der fünf Arten von Java Static
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Überprüfen Sie die Funktion von zwei Rollen mit einer Chat-Anwendung
Ein Hinweis zum Seed-Feature von Ruby on Rails
Implementierung eines mathematischen Syntaxanalysators durch rekursive absteigende Syntaxanalysemethode (Java)
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
Eine Geschichte, die von String () von Interface abhängig ist und von JdkDynamicAopProxy vertreten wird
[Java] Eine Geschichte über IntelliJ IDEA, die die putIfAbsent-Methode von Map lehrt
Versuchen Sie, die Springcode-Such-API mit Spring Boot aufzurufen