机器人 : facebook login using facebook sdk 3 with no facebook app installed

标签 android facebook authentication

我在我的应用程序中使用 facebook sdk 3。我想获取一些用户信息以用于我的应用程序。如果我的设备中安装了 Facebook 应用程序,它会很好用。它要求登录,如果它没有登录并且工作。但我希望即使设备上没有安装 facebook 应用程序,我的应用程序也能正常工作。我该怎么做。我的代码如下。请帮忙

Session.openActiveSession(this, true, new Session.StatusCallback() {

        // callback when session changes state
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            if (session.isOpened()) {
                // make request to the /me API
                Request.executeMeRequestAsync(session,
                        new Request.GraphUserCallback() {

                            // callback after Graph API response with user
                            // object
                            @Override
                            public void onCompleted(GraphUser graphuser,
                                    Response response) {
                                L
                                if (graphuser != null) {
                                    GraphObject graphObject = response
                                            .getGraphObject();
                                    Log.i(" facebookLogin Email is ",
                                            "value"
                                                    + graphObject
                                                            .getProperty("email"));
                                    User user = getUserDetails(graphObject,
                                            graphuser.getId());
                                    sendFBCredentialsToServer(user);
                                    updateSharedPrefsWithFacebookCredentials(user);

                                }
                            }

                        });
                Toast.makeText(getApplicationContext(),
                        "Pls wait , Fetching data", Toast.LENGTH_LONG)
                        .show();
            }
        }
    });

最佳答案

// Add code to print out the key hash


try {
PackageInfo info = getPackageManager().getPackageInfo(
        "com.your.packagename", 
        PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));// g
    }
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

在 onCreate 上添加此代码并从 facebook 获取哈希键并在 facebook 上的应用程序设置中替换此键

关于机器人 : facebook login using facebook sdk 3 with no facebook app installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201956/

相关文章:

iOS:键盘上方的工具栏

facebook - 如何使用自动化系统删除所有 Facebook 帖子?

.net - 即使方法标记为 AllowAnonymous,也会为无效 token 返回 401

android - 膨胀类 android.support.v7.widget.Toolbar 时出错

java - 如何获取 Firestore 集合中所有文档的名称(字段)?

javascript - Facebook sharer.php 是否已更改为不再接受详细参数?

asp.net-mvc - 用于存储用户上次登录信息的良好设计模式是什么?

java - 使用计数器进行评分

android - 设备后退按钮与操作栏后退按钮的 Activity 生命周期差异

authentication - 为 Jekyll 站点的某些页面添加身份验证