1

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

4

2 回答 2

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);
}
于 2013-03-19T15:47:49.420 回答
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);
    }
}
于 2013-03-19T10:44:19.187 回答