我如何可以登录Facebook的我自己的按钮? (Facebook的SDK 4.0) [英] How can I login facebook with my own button? (Facebook SDK 4.0)
问题描述
我要创造我自己的按钮登录到Facebook。按钮的功能是:
1 /如果用户通过Facebook应用程序登录的Facebook不已,当他们点击我的应用程序按钮,他们将在我的应用程序也签署。 (它不能强迫他们再次登录Facebook的)。
2 /若用户没有登录,它会显示该屏幕登录。
<一href=\"http://a5e2fba00d8bcb729d89839f.java$c$cgeeks.netdna-cdn.com/wp-content/uploads/2014/12/app_credentials.png\" rel=\"nofollow\">http://a5e2fba00d8bcb729d89839f.java$c$cgeeks.netdna-cdn.com/wp-content/uploads/2014/12/app_credentials.png
这是我似乎无法找到任何教程如何做到这一点了Facebook 4.0 SKD及以上。我不能使用其他教程,因为会话是pcated德$ P $。
请告诉我该怎么做。谢谢你在前进!
如果用户登录了Facebook通过Facebook应用不已,当他们
点击我的应用程序按钮,他们会在我的应用程序签名太
块引用>如果用户与Facebook登录,发送Facebook的ID和Facebook令牌服务器,您的服务器可以得到来自Facebook的细节休息,你的服务器上创建一个帐户,并与Facebook(ID)的帐户链接。
如果用户用自己的帐户登录,那么他与Facebook登录,发送您的帐户ID,Facebook的ID和Facebook令牌服务器和链接两个帐户。
如果用户没有登录,它会显示该屏幕登录。
块引用>Facebook登入:
请参见下面code,查看详细点击这里@覆盖
公共查看onCreateView(
LayoutInflater气筒,
ViewGroup中的容器中,
捆绑savedInstanceState){
查看查看= inflater.inflate(R.layout.splash,集装箱,FALSE); //初始化的Facebook
FacebookSdk.sdkInitialize(getApplicationContext());
loginButton =(按钮)view.findViewById(R.id.login_button);
loginButton.setOnClickListener(新OnClickListener(){
@覆盖公共无效的onClick(视图v){
//使用Facebook登录点击上的自定义按钮
LoginManager.getInstance()logInWithReadPermissions(此,Arrays.asList(public_profile,user_friends))。
}
}); //注册一个回调
callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance()。registerCallback(callbackManager,
新FacebookCallback&LT; LoginResult&GT;(){
@覆盖
公共无效的onSuccess(LoginResult loginResult){
// 登陆成功
} @覆盖
公共无效onCancel(){
//登录取消
} @覆盖
公共无效onerror的(FacebookException除外){
// 登陆错误
}
}); } @覆盖
保护无效的onActivityResult(INT申请code,INT结果code,意图数据){
super.onActivityResult(要求code,结果code,数据);
callbackManager.onActivityResult(要求code,结果code,数据);
}比这个code。其他,你必须创建一个
- 的Facebook应用程序ID 查看的Android入门,添加Facebook的应用程序ID
- Android的密钥散列 见
- ,包括 Facebook的活动在AndroidManifest.xml
I want to create my own button to login to Facebook. The functions of the button are:
1/ If users logged in Facebook through Facebook app already, when they click the button in my app, they would be signed in my app too. (It must not force them to login Facebook again).
2/ If users did not logged in, it would show this screen to login. http://a5e2fba00d8bcb729d89839f.javacodegeeks.netdna-cdn.com/wp-content/uploads/2014/12/app_credentials.png
It's seem I can't find any tutorials how to do that in Facebook SKD 4.0 and above. I can't use other tutorials because "session" is deprecated.
Please show me how to do that. Thank you in advance!
解决方案If users logged in Facebook through Facebook app already, when they click the button in my app, they would be signed in my app too
If user is logged in with Facebook, send Facebook id and Facebook token to your server, your server can get rest of the details from Facebook, create an account on your server and link it with Facebook (id) account.
If user is logged in with your account then he sign in with Facebook, send your account id, Facebook id and Facebook token to server and link both accounts.
If users did not logged in, it would show this screen to login.
Facebook Login: See below code, for detail click here
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.splash, container, false); //Initialize facebook FacebookSdk.sdkInitialize(getApplicationContext()); loginButton = (Button) view.findViewById(R.id.login_button); loginButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Login with facebook on clicking custom button LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends")); } }); //Register a callback callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { // login successful } @Override public void onCancel() { // login cancelled } @Override public void onError(FacebookException exception) { // login error } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }
Other than this code you have to create a
- Facebook App ID See Android Getting Started, Add Facebook App ID
- Android Key Hash See
- And include Facebook Activity in AndroidManifest.xml
这篇关于我如何可以登录Facebook的我自己的按钮? (Facebook的SDK 4.0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!