设置流发布的facebook权限

时间:2013-03-19 08:19:41

标签: android facebook

我有一个开放的会话。当我尝试发布朋友墙帖时,它说我没有权限这样做。我可以设置流发布权限到已经在android中打开会话。

2 个答案:

答案 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);
    }
}