В общем, я пытаюсь сделать приложение для расписания, но сначала пытаюсь научиться анализировать данные из системного API. Мне дали apikey от системного администратора моей школы, но API расплывчато, и я его не понимаю. Я пытаюсь использовать HttpURLConnection.
Вот учебник по API, касающийся apikey и некоторой переменной для использования команд, которых я тоже не получаю.
apikey This is a kind of password for accessing Edupage API for a school’s Edupage page. One school (and one Edupage web page) can have multiple API keys. It is possible to configure access rights for every API key individually, so school can give one API key to company providing attendance system (with postbeeps right) and other to company providing digital signages (with getdailyplan right). cmd This parameter specifies API command. Commands are listed later in a separate chapter.
Я вижу команды, на которые он ссылается, в cmd, но опять же, не знаю, как использовать правильный синтаксис.
Пока у меня есть код
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class test2 {
public static void main(String[] args) {
String apikey = myapikey;
String apiurl = url;
try {
URL url = new URL(apiurl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
} catch (MalformedURLException ex){
return;
} catch (java.io.IOException ex) {
return;
}
}
}
Кто-нибудь может мне помочь?




страница документации, которую я нашел через Google дает ссылку на доступные дополнительные технические характеристики здесь
В соответствии с этой документацией вы можете передавать переменные cmd или apiKey либо через параметр POST, либо через параметр GET (в строке запроса).
Communication overview
Communication is done through simple HTTP requests. These requests can be either GET or POST requests and all parameters can be passed in both ways (in URL query string or in POST content or any combination of both). Note: There is a limit on size of URL in the web server, so for parameters that can be very long it is recommended to send them as POST.
подход, который вы используете, будет зависеть от того, какой API вы используете, и личных предпочтений, но в Интернете есть множество руководств по отправке запросов POST через java HTTPUrlConnection или другие вещи, такие как общие HttpClient.
Существует множество способов отправки данных в httpurlconnection. Вам решать, как вы хотите отправлять данные.
вы используете метод get, поэтому вы можете передать apikey в заголовке.
Нравится
connection.setRequestProperty("apikey", apikey)
Если вы делаете почтовый запрос, вы можете открыть выходной поток при подключении, а затем написать туда свой apikey.
var outputStream = conn.outputStream
outputStream.write(apikey.toByteArray())
outputStream.flush()
outputStream.close()
Что ж, здесь особо нечего делать, но, учитывая, что они упоминают «параметры», возможно ли, что вы должны передать apikey в URL-адресе, который вы запрашиваете, в качестве параметра GET? например: api.acme.example.com/some_api/users/get?apiKey=abc123