我搜索了许多帖子,但我还没有成功
我关注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);
}
}
我不知道我哪里出错了。请提前建议,谢谢。
答案 0 :(得分:1)
setDefaultAudience仅在您第一次请求发布权限时才有用。它基本上为您的应用设置了全局上限(这意味着您的应用无法发布超过该隐私级别)。用户也可以进入他们的设置,并随时更改该上限(应用程序不知情),因此即使您要求FRIENDS,他们以后可能会将其更改为ONLY_ME。
如果要在运行时调整隐私级别,可以在posting to me/feed时设置“隐私”字段。隐私字段的有效输入为defined here。请注意,无论您将什么作为隐私,它都不能超过用户为您的应用设置的内容。
或者,您可以使用native share dialog,它允许用户控制隐私,消息等,并且不需要任何登录(或发布权限),因为它委托给Facebook应用程序。