我有一个开放的会话。当我尝试发布朋友墙帖时,它说我没有权限这样做。我可以设置流发布权限到已经在android中打开会话。
答案 0 :(得分:5)
如果您已经打开了会话,则应检查它是否已具有“publish_stream”或“publish_action”权限,如果没有,则调用requestNewPublishPermissions。像
这样的东西Session session = Session.getActiveSession();
List<String> permissions = session.getPermissions();
if (!permissions.contains("publish_actions")) {
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, Arrays.asList("publish_actions"))
.setDefaultAudience(SessionDefaultAudience.FRIENDS);
session.requestNewPublishPermissions(newPermissionsRequest);
}
答案 1 :(得分:0)
您可以按如下方式设置发布权限:
private static final String[] PERMISSIONS = new String[] { "publish_stream" };
并在facebook的授权方法中检查此权限,如下所示:
public void loginAndPostToWall() throws CustomException { try { m_facebook.authorize(FacebookShareActivity.this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener()); } catch (Throwable p_e) { throw new CustomException(TAG + "Error in loginAndPostToWall()", p_e); } }