2013-03-19 99 views
1

我有一個開放的session.when我試圖發佈的朋友牆帖子它說我沒有權限做這個我可以設置流發佈權限已經打開在android會話。設置facebook流發佈權限

+0

我很困惑,code.its完全錯誤,我認爲。請你能告訴我如何設置已經打開的會話的權限 – user1688181 2013-03-19 08:54:44

回答

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); 
} 
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); 
    } 
} 
+0

不幸的是,Facebook對象現在已被棄用,所以我們應該避免使用這個。 – 2013-12-20 19:23:11