Добавить опцию для входа в систему с помощью 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();
}
}
}
}