我如何可以登录Facebook的我自己的按钮? (Facebook的SDK 4.0) [英] How can I login facebook with my own button? (Facebook SDK 4.0)

查看:715
本文介绍了我如何可以登录Facebook的我自己的按钮? (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。其他,你必须创建一个


  1. 的Facebook应用程序ID 查看的Andr​​oid入门,添加Facebook的应用程序ID

  2. Android的密钥散列

  3. ,包括 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

  1. Facebook App ID See Android Getting Started, Add Facebook App ID
  2. Android Key Hash See
  3. And include Facebook Activity in AndroidManifest.xml

这篇关于我如何可以登录Facebook的我自己的按钮? (Facebook的SDK 4.0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆