2017-03-27 16 views
1

我想在代碼名稱1中使用Linkedin登錄,但每當我單擊登錄按鈕時,它都會顯示空白彈出對話框。代碼名稱與Linkedin的一次登錄

enter image description here

下面是我的代碼

linked.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent evt) { 

      Oauth2 auth2 = new Oauth2("https://www.linkedin.com/uas/oauth2/authorization", 
      "XXXXXXXXXX", 
      "https://www.codenameone.com","r_basicprofile", 
      "https://www.linkedin.com/uas/oauth2/accessToken", 
      "XXXXXXXXXX"); 
    Oauth2.setBackToParent(true); 
    auth2.authenticate(); 
    auth2.createAuthComponent(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent evt) { 
        Log.p(evt.getSource().toString()); 

      if (evt.getSource() instanceof String) { 
       String token = (String) evt.getSource(); 
       String expires = Oauth2.getExpires(); 

       System.out.println("Token=" +token + "Expires in " +expires); 
      } 
      else {      
       Exception err = (Exception) evt.getSource(); 
       err.printStackTrace(); 
       Dialog.show("Error", "An error occurred while logging in: " + err, "OK", null); 
      } 
       } 
      }); 

    } 
    }); 
+0

所以它甚至沒有顯示你的登錄表單? (這是在模擬器?)檢查模擬器中的網絡監視器,看看有沒有線索。 –

+0

它不會在模擬器和物理設備中顯示登錄信息,請問您能否告訴我URL是否正確或代碼中是否有任何錯誤? –

+0

好點。您的網址不正確。您不應該在URL中包含任何查詢字符串。只需使用「https:// www.linkedin.com/oauth/v2/authorization」即可。查詢字符串將由'Oauth2'類自動添加。 –

回答

1

在這裏我得到了上述問題的解決方案。

工作代碼:

linked.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent evt) { 


       Oauth2 auth2 = new Oauth2("https://www.linkedin.com/oauth/v2/authorization", 
       "XXXXXXXXXXXXX", 
       "https://www.codenameone.com","r_basicprofile", 
       "https://www.linkedin.com/oauth/v2/accessToken", 
       "XXXXXXXXXXXXX"); 

     //auth2.authenticate(); 
     auth2.showAuthentication(new ActionListener() { 
        @Override 
        public void actionPerformed(ActionEvent evt) { 
         AccessToken token = (AccessToken) evt.getSource(); 
         JSONObject object = new JSONObject(token); 
         try { 
          TOKEN = object.getString("token"); 
          Log.p(TOKEN); 
         } catch (JSONException ex) { 
          ex.printStackTrace(); 
         } 
        } 
       }); 
       Oauth2.setBackToParent(true); 


     } 
     }); 

以上代碼成功驗證用戶聯繫,並響應我們得到TOKEN可變令牌之後成功登錄。