मैं SkyDrive REST API का उपयोग कर जावा डेस्कटॉप क्लाइंट एप्लिकेशन से OAuth 2.0 निहित अनुदान को लागू करने का प्रयास कर रहा हूं। मैं निम्नलिखित कोड का उपयोग करें:स्काईडाइव आरईएसटी एपीआई का उपयोग कर जावा डेस्कटॉप क्लाइंट से ओएथ 2.0 (निहित अनुदान) के एक्सेस टोकन को पुनर्प्राप्त करना।
Desktop.getDesktop().browse(new URL(st.toString()).toURI());
JOptionPane.showMessageDialog(null, "Press ok to continue once you have authenticated.");
मेरी कोड वेब ब्राउज़र को खोलता है और उन प्रवेश द्वारा के लिए पूछना और फिर SkyDrive निम्नलिखित रूप में ब्राउज़र यूआरएल को पहुँच टोकन भेजता है:
https://login.live.com/oauth20_desktop.srf?lc=1033#access_token=EwAwAq1DBAAUlbRW.....
मैं आपकी क्या अपेक्षाएं हैं मेरे जावा प्रोग्राम से इस एक्सेस टोकन को पढ़ना है। मैं कंसोल से httpconnection पढ़ने के लिए करने की कोशिश की:
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while(reader.readLine()!=null){
System.out.println(reader.readLine());
लेकिन ऐसा लगता है कि जावा httpurlconnection जावास्क्रिप्ट प्रतिक्रिया संभाल नहीं करता है। यह जवाब देता है:
<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);">
तो, क्या जावा से सीधे पहुंच टोकन पुनर्प्राप्त करने का कोई तरीका है?