Добавить опцию для входа в систему с помощью Twitter, Facebook и Google, используя Socialauth на Android-приложение

Я создаю приложение, которое подключается к веб-сайту для получения данных. Предоставляется экран входа в систему, который позволяет войти в систему с использованием имени пользователя и пароля на сайте или с помощью социальных приложений, таких как Facebook, Twitter и Google. Кнопки для которых предусмотрены. Я загрузил библиотеку socialauth для использования с приложением. Я следовал https://code.google.com/p/socialauth-android/ за инструкциями по использованию библиотеки. Но документация довольно схематична. Любая помощь в использовании библиотеки будет принята с благодарностью. Заранее спасибо. РЕДАКТИРОВАТЬ: Что я в основном хочу сделать, это предоставить возможность входа в Facebook, Google и Twitter, чтобы войти в мое приложение так же, как функция, представленная на многих веб-сайтах и ​​в приложениях. Еще раз спасибо.

1 ответ

Решение

Я помещаю сюда код.. Надеюсь, он вам поможет. Примечание: вам нужно поместить oath_consumer.properties в вашу папку ресурсов, а также добавить библиотеку socialauth в ваш проект.

   public class ClientLogin extends Activity {
TextView facebookLogin,TwitterLogin,LinkedInLogin;
     SocialAuthAdapter adapter;
     Button logout;
 Context context;
 Profile profileMap;
 String Email,password;
     String provider_Name;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);
    setContentView(R.layout.client_login);
    context=this;
    facebookLogin=(TextView) findViewById(R.id.textView_LoginFacebook);
    TwitterLogin=(TextView) findViewById(R.id.textView_LoginTwitter);
    LinkedInLogin=(TextView) findViewById(R.id.textView_LoginLinkedin);
  logout=(Button) findViewById(R.id.button_loginLogout);
 adapter = new SocialAuthAdapter(new ResponseListener());
    facebookLogin.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            provider_Name="facebook";
            adapter.authorize(context, Provider.FACEBOOK);

        }
    });
       TwitterLogin.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            provider_Name="twitter";
            adapter.authorize(context, Provider.TWITTER);

        }
    });
    LinkedInLogin.setOnClickListener(new View.OnClickListener() {

    @Override
     public void onClick(View v) {
    provider_Name="linkedin";
        adapter.authorize(context, Provider.LINKEDIN);

        }
    });
     logout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stubadapter.
           adapter.signOut(context, Provider.FACEBOOK.toString())   ;
           adapter.signOut(context, Provider.LINKEDIN.toString())   ;
           adapter.signOut(context, Provider.TWITTER.toString())    ;
         Toast.makeText(context,"succesfully Logged out",1000).show();

        }
    });
    }

      private final class ResponseListener implements DialogListener 
{
     public void onComplete(Bundle values) {
          //  Log.d("ShareButton" , "Authentication Successful");
         Toast.makeText(context,"succesfully Logged in",1000).show();

        //code  is to get email id of user...
         profileMap =  adapter.getUserProfile();

         if (provider_Name.equalsIgnoreCase("facebook"))
                 {
           //to get email_id of user..

        Email=profileMap.getEmail();

                 }
         else if( provider_Name.equalsIgnoreCase("twitter"))
         {

            //to get email of user
            Email=profileMap.getEmail(); 


         }
    else  if (provider_Name.equalsIgnoreCase("linkedin"))
         {



Email=profileMap.getEmail();

         }
   }
  }
 }
Другие вопросы по тегам