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)!


  • ChurchToolsMitarbeiter

    Genau, so ist es.



  • Aber ist das auch irgendwo beschrieben?


  • ChurchToolsMitarbeiter



  • 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!