Login via POST funktioniert nicht - gelöst
-
Hallo zusammen,
komme leider mit dem API nicht klar.
Versuche mittels Java und eines Post-Requests einen Login (Authentifizierung) durchzuführen, um Funktionsaufrufe durchführen zu können.
Unglücklicherweise bekomme ich als Antwort nur "{"status":"fail","data":"Die Email-Adresse ist nicht bekannt!"}"Wenn ich mich allerdings mit denselben Anmeldedaten über die Weboberfläche anmelde, dann klappt das!
Kann da jemand bitte weiter helfen?
Vielen Dank schon einmal!
Anbei der Code:
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String params = "email=" + URLEncoder.encode( "Admin", "UTF-8" ) + "&" + "password=" + URLEncoder.encode( "admin", "UTF-8" ) + "&" + "directtool=" + URLEncoder.encode("yes", "UTF-8"); URL churchTestURL = new URL("https://Martin.churchtools.de/?q=login"); HttpsURLConnection connection = (HttpsURLConnection)churchTestURL.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput( true ); connection.setDoOutput( true ); connection.setUseCaches( false ); connection.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" ); connection.setRequestProperty( "Content-Length", String.valueOf(params.length()) ); OutputStreamWriter writer = new OutputStreamWriter( connection.getOutputStream() ); writer.write( params ); writer.flush(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); for ( String line; (line = reader.readLine()) != null; ) { System.out.println( line ); } writer.close(); reader.close(); }
-
Ok, hat geklappt. Via Weboberfläche kann ich mich mit dem Usernamen anmelden, via API muss es aber wohl die Mailadresse sein (also mit @ und der kompletten Domain)!
-
Genau, so ist es.
-
Aber ist das auch irgendwo beschrieben?
-
https://api.churchtools.de/class-CTLoginModule.html
Unter function login() -
Also response kommt dann
{"status":"success","data":null}
Was müsste in dem data field drinstehen, der Token?Weil leider Funktioniert die Methode getUserLoginToken nicht.
'getUserLoginToken' wurde nicht gefunden in churchtools.mapping!