Ich versuche, die implizite OAuth 2.0-Unterstützung von Java-Desktop-Client-Anwendungen mithilfe der SkyDrive-REST-API zu implementieren. Ich verwende den folgenden Code ein:Abrufen des Zugriffstokens von OAuth 2.0 (implizite Erteilung) von Java Desktop Client mithilfe der SkyDrive-REST-API.
Desktop.getDesktop().browse(new URL(st.toString()).toURI());
JOptionPane.showMessageDialog(null, "Press ok to continue once you have authenticated.");
meinen Code öffnet Web-Browser und fragen Benutzer signin und dann SkyDrive sendet Zugriffstoken an den Browser-URL in der folgenden Form:
https://login.live.com/oauth20_desktop.srf?lc=1033#access_token=EwAwAq1DBAAUlbRW.....
Was ich tun möchte, ist dieses Access-Token von meinem Java-Programm zu lesen. Ich versuchte Httpconnection von der Konsole zu lesen:
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while(reader.readLine()!=null){
System.out.println(reader.readLine());
aber es scheint, dass Java HttpURLConnection keine Javascript Antwort nicht handhaben. Es antwortet:
<html dir="..... Windows Live ID requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked......<body onload="evt_LoginHostMobile_onload(event);">
Also, Gibt es eine Möglichkeit, den Zugriffstoken direkt aus Java abrufen?