在App中集成Facebook隐私设置功能

时间:2013-10-11 05:04:24

标签: android facebook privacy

我搜索了许多帖子,但我还没有成功

我关注https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/,我已成功将原生FB整合到我的应用中。 我可以检索FB好友列表并发布到墙上。 。 。 。

但我正在搜索如何设置我发布的活动的隐私设置。

从应用中,我想询问用户隐私设置,因此我想将隐私设置为ONLY_ME / FRIENDS / EVERYONE

我试过了

authButton = (LoginButton) view.findViewById(R.id.fb_logIn_btn);
authButton.setDefaultAudience(SessionDefaultAudience.ONLY_ME);

但这不起作用,然后我尝试编辑FB Login Properties中的LoginButton.class。我只是将它硬编码为测试

private SessionDefaultAudience defaultAudience = SessionDefaultAudience.ONLY_ME;

但即使这样也没有用,然后我尝试使用以下代码引用该线程,但我仍然没有成功

private void requestPublishPermissions(Session session)
    {
        Log.e("session.getPermissions().contains(publish_actions)", " is "+session.getPermissions().contains("publish_actions"));
        if (session != null && session.getPermissions().contains("publish_actions")) 
        {
            Log.e(" inside if loop ", " session.getPermissions().contains(publish_actions) ");
            Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(SplashScreen.this, Arrays.asList("publish_actions"))
            // demonstrate how to set an audience for the publish permissions,
            // if none are set, this defaults to FRIENDS
            .setDefaultAudience(SessionDefaultAudience.ONLY_ME);
            session.requestNewPublishPermissions(newPermissionsRequest);
        }
    }

我不知道我哪里出错了。请提前建议,谢谢。

1 个答案:

答案 0 :(得分:1)

setDefaultAudience仅在您第一次请求发布权限时才有用。它基本上为您的应用设置了全局上限(这意味着您的应用无法发布超过该隐私级别)。用户也可以进入他们的设置,并随时更改该上限(应用程序不知情),因此即使您要求FRIENDS,他们以后可能会将其更改为ONLY_ME。

如果要在运行时调整隐私级别,可以在posting to me/feed时设置“隐私”字段。隐私字段的有效输入为defined here。请注意,无论您将什么作为隐私,它都不能超过用户为您的应用设置的内容。

或者,您可以使用native share dialog,它允许用户控制隐私,消息等,并且不需要任何登录(或发布权限),因为它委托给Facebook应用程序。