如何使用我自己的按钮登录facebook? (Facebook SDK 4.0)

时间:2015-05-01 05:25:02

标签: android facebook-login

我想创建自己的按钮来登录Facebook。按钮的功能是:

1 /如果用户已经通过Facebook应用程序登录Facebook,当他们点击我的应用程序中的按钮时,他们也将在我的应用程序中登录。 (不得强迫他们再次登录Facebook)。

2 /如果用户未登录,则会显示此屏幕以进行登录。 http://a5e2fba00d8bcb729d89839f.javacodegeeks.netdna-cdn.com/wp-content/uploads/2014/12/app_credentials.png

似乎我在Facebook SKD 4.0及以上版本中找不到任何教程如何做到这一点。我不能使用其他教程,因为“会话”已被弃用。

请告诉我该怎么做。提前谢谢!

2 个答案:

答案 0 :(得分:4)

  

如果用户已经通过Facebook应用登录Facebook了   点击我的应用中的按钮,它们也会在我的应用中签名

如果用户使用Facebook登录,将Facebook ID和Facebook令牌发送到您的服务器,您的服务器可以从Facebook获取其余详细信息,在您的服务器上创建一个帐户并将其与Facebook(id)帐户链接。

如果用户使用您的帐户登录,则他使用Facebook登录,将您的帐户ID,Facebook ID和Facebook令牌发送到服务器并链接这两个帐户。

  

如果用户未登录,则会显示此屏幕以进行登录。

Facebook登录 有关详细信息click here

,请参阅下面的代码
SELECT

除此代码外,您还必须创建

  1. Facebook App ID 请参阅Android Getting Started, Add Facebook App ID
  2. Android Key Hash See
  3. 并在AndroidManifest.xml中包含 Facebook活动

答案 1 :(得分:0)

Facebook提供了有关如何执行此操作的非常详细的指南:https://developers.facebook.com/docs/facebook-login/android/v2.3

基本上你必须首先注册登录回调:

    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    //app code
                }

                @Override
                public void onCancel() {
                    //app code
                }

                @Override
                public void onError(FacebookException exception) {
                    //app code
                }
            });

然后,当您想要将用户登录时,请致电:

            LoginManager.getInstance().logInWithPublishPermissions(
                    this,
                    Arrays.asList(PERMISSION));

当然,在代码和AndroidManifest.xml中都有设置正确设置和初始化Facebook SDK,详见上述链接。

另请查看Facebook Android SDK附带的/ samples / HelloFacebookSample示例应用程序,您可以轻松地根据需要进行调整。

相关问题