2013-03-21 6 views
7

मैं जब मैं ठीक काम कर रहा है नई प्राधि XOAUTH2 command.I जोड़ने के बाद मेरी एंड्रॉयड परियोजना चलाने का प्रयास ओएस संस्करण 2.3, लेकिन एक ही कोड के साथ Android डिवाइस का उपयोग कर रहा निम्न त्रुटि हो रही है के साथ, कनेक्ट एंड्रॉयड 4.0एसएमटीपी परिवहन के साथ एंड्रॉयड Oauth अपवाद Android संस्करण 2.3

पर
public SMTPTransport connectToSmtp(String host, int port, String userEmail,String oauthToken, boolean debug) throws Exception 
{ 

    Properties props = new Properties(); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.starttls.required", "true"); 
    props.put("mail.smtp.sasl.enable", "false"); 
    session = Session.getInstance(props); 
    session.setDebug(debug); 


    final URLName unusedUrlName = null; 
    SMTPTransport transport = new SMTPTransport(session, unusedUrlName); 
    // If the password is non-null, SMTP tries to do AUTH LOGIN. 
    final String emptyPassword = null; 
    transport.connect(host, port, userEmail, emptyPassword); 

    byte[] response = String.format("user=%s\1auth=Bearer %s\1\1", userEmail,oauthToken).getBytes(); 
    response = BASE64EncoderStream.encode(response); 

    transport.issueCommand("AUTH XOAUTH2 " + new String(response),235); 

    return transport; 
} 

की जांच करें लॉग

03-21 10:05:08.679: W/System.err(987): javax.mail.MessagingException: 334 eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzIjoiQmVhcmVyIiwic2NvcGUiOiJodHRwczovL21haWwuZ29vZ2xlLmNvbS8ifQ== 
03-21 10:05:08.679: W/System.err(987): at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1481) 
03-21 10:05:08.679: W/System.err(987): at com.swapmeen.test.GMailOauthSender.connectToSmtp(GMailOauthSender.java:48) 
03-21 10:05:08.679: W/System.err(987): at com.swapmeen.test.GMailOauthSender.sendMail(GMailOauthSender.java:57) 
03-21 10:05:08.679: W/System.err(987): at com.swapmeen.test.MainActivity$1.run(MainActivity.java:64) 
+0

मैं भी अपवाद हो रही हूँ ... स्कैनिंग के माध्यम से() परिवहन की विधि:

आप इस तरह टोकन अमान्य हो जाएगा। किसी को भी क्या आदेश सुझाव है और उम्मीद Google खातों के लिए –

+0

हाय, आप दोनों में से किसी को कभी इस काम कर मिला वहाँ होना चाहिए? –

उत्तर

5

त्रुटि आप

eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzIjoiQmVhcmVyIiwic2NvcGUiOiJodHRwczovL21haWwuZ29vZ2xlLmNvbS8ifQ== 
प्राप्त कर रहे हैं

(गुप्त रूप में संदेश है) एक Base64 डिकोडर

{"status":"400","schemes":"Bearer","scope":"https://mail.google.com/"} 

क्या यह अर्थ समाप्त होता है का उपयोग करते हुए निम्नलिखित कि प्रमाणीकरण टोकन है कि आप प्रयोग कर रहे हैं समाप्त हो गया है है करने के लिए डीकोड। आप (बस टोकन को फिर से अनुरोध करें) यह रद्द करने के लिए और फिर एक नया प्राप्त की जरूरत है।

mAccountManager.invalidateAuthToken("com.google", mAuthenticationToken); 

मुझे आशा है कि यह उपयोगी है :) issueCommand में त्रुटि पाई

+1

मैं क्या आप लेकिन तैनात किया था और मेरे ऐप लेकिन मैं अभी भी यह संदेश मिलता है, एक नया टोकन हो जाता है ... – Rohan

+0

छोटे अद्यतन, यह होना चाहिए "com.google" नहीं "con.google" –

संबंधित मुद्दे