1

我已经搜索了很多线程,但我还没有成功

我正在关注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 Propertiesin 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);
        }
    }

我不知道我哪里出错了。请指教,提前谢谢。

4

1 回答 1

1

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

如果您想在运行时调整隐私级别,可以在发帖时设置“隐私”字段 me/feed。隐私字段的有效输入在此处定义。请注意,无论您将隐私设置为什么,它都不能超过用户为您的应用设置的内容。

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

于 2013-10-11T16:54:44.530 回答