Java 如何将公共状态更新发布到facebook
我有一个从我的应用程序中向facebook发布状态更新的方法,如下所示。 一切正常,但我希望能够更改状态的隐私设置,因为它现在总是只发布给我的朋友,我想让它发布给公众 我应该怎么做,或者API中有一些限制吗Java 如何将公共状态更新发布到facebook,java,android,facebook,Java,Android,Facebook,我有一个从我的应用程序中向facebook发布状态更新的方法,如下所示。 一切正常,但我希望能够更改状态的隐私设置,因为它现在总是只发布给我的朋友,我想让它发布给公众 我应该怎么做,或者API中有一些限制吗 private void postToFacebook(String message) { if(Session.getActiveSession().isOpened()) { Session.NewPermissionsRe
private void postToFacebook(String message)
{
if(Session.getActiveSession().isOpened())
{
Session.NewPermissionsRequest newPermissionRequest = new Session.NewPermissionsRequest((Activity) this, Arrays.asList("publish_actions"));
Session.getActiveSession().requestNewPublishPermissions(newPermissionRequest);
Request request = Request.newStatusUpdateRequest(Session.getActiveSession(), message, new Callback()
{
@Override
public void onCompleted(Response response)
{
FacebookRequestError fer = response.getError();
if(fer != null)
{
Log.d("FBSEND", fer.getErrorMessage());
}
else
{
Toast.makeText(getApplicationContext(), "Posted Successfully!", Toast.LENGTH_SHORT).show();
}
}
});
Request.executeBatchAsync(request);
}
}
要发布公开帖子,您应该在请求的同时发送隐私参数
Request req = new Request();
Bundle b = new Bundle();
b.putString("privacy","{'value':'EVERYONE'}");
req.setParameters(b);
req.newStatusUpdateRequest(...
希望这能奏效。参考:
我没有尝试过这个代码。 这里有很多事情要考虑。 首先,大多数用户不喜欢公开发布,如果你的应用请求公开权限,他们更可能拒绝你的权限请求 其次,用户可以随时更改应用程序发布到的隐私(应用程序不知道),因此即使您请求公共权限,将来也可以更改其他内容(这将超出您的控制) 最后,当您请求发布权限时,您只能请求一次隐私上限。在NewPermissionsRequest中,您可以调用setDefaultAudience,类似于:
newPermissionRequest.setDefaultAudience(SessionDefaultAudience.EVERYONE);
你有你正在使用的库的javadoc吗。。。这是官方的facebook SDK,我想是吧?。。唯一导入的库是Facebook SDK,然后是Android支持库v4?如果你问我是否读过这篇文章来解决我的问题,那么是的,但是我没有找到一个让我明白如何去做的答案不,我是问这是否是你正在使用的API。