2013-12-23 1 views
4

두 개의 EditText (id, password)와 하나의 버튼 (login)이 있습니다. 버튼을 클릭하면 페이스 북에 로그인하고 사이트를 열고 싶습니다. 그러나 이미 사이트에 로그인 한 것을 볼 수 없습니다.Android jsoup를 사용하여 로그인 FB를 자동화하는 방법

이것은 내 코드입니다.

public class MainActivity extends Activity { 

    EditText id; 
    EditText password; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     id = (EditText) findViewById(R.id.editText1); 
     password = (EditText) findViewById(R.id.editText2); 
     Button logIn = (Button) findViewById(R.id.button1); 

     logIn.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       Login(); 
      } 
     }); 

    } 

    public void Login(){ 
     System.out.println("id:" + id.getText().toString()); 
     System.out.println("password:" + password.getText().toString()); 


     try { 
       Connection.Response res = Jsoup.connect("https://www.facebook.com/login.php?login_attempt=1") 
          .data("email", id.getText().toString()) 
          .data("pass", password.getText().toString())        
          .method(Method.POST) 
          .timeout(60000)//1 min 
          .execute(); 

        Map<String, String> loginCookies = res.cookies(); 

        Document doc = Jsoup.connect("https://www.facebook.com") 
         .cookies(loginCookies) 
         .get(); 

        System.out.println(doc.text().toString()); 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

     Uri uri = Uri.parse("https://www.facebook.com"); 
     Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
     startActivity(intent); 
    } 
} 
+3

JSoup을 사용하여 로그인하여 FB 세션을 여는 중입니다. 그러나 이것은 반환 된 쿠키를 인 텐트로 전송하지 않으면 쓸모가 없습니다 (따라서 FB는 새로운 인증되지 않은 세션이라고 생각합니다). http://stackoverflow.com/questions/3717236/pass-cookie-to-browser-via-intent를 참조하십시오. –

답변

0

Facebook 페이지를 긁는 행위는 Terms of Service에 위배되며 금지 조치를 취하는 것이 좋습니다. 그러나, 그들은 완전히 API을 제공하기 때문에 완전히 불필요합니다.

+0

이 점에 대해 언급 한 서비스 약관의 관련 조항을 인용 해주십시오. – Stephan

관련 문제