2012-01-19 37 views
1

我正在嘗試使用另一個用戶使用FBConnect在另一個用戶的牆上發帖。我正在使用iOS Facebook API的嵌入式方法(即,我迫使瀏覽器出現在我的應用程序內部,所以我根本沒有離開應用程序)。此方法適用於張貼到同一用戶的牆上,但不適用於其他用戶的牆上。iOS Facebook無法在其他用戶的牆上發帖

self.facebook = [[[Facebook alloc] initWithAppId:self.appID andDelegate:self] autorelease]; 
if ([self.facebook isSessionValid]) { 
    [self proceedToPost]; 
}else{ 
    NSArray *permissions = [NSArray arrayWithObjects:@"publish_stream", @"email", @"read_stream", @"manage_pages", nil]; 
    [self.facebook authorize:permissions]; 
} 

- (void)proceedToPost 

{

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"aName", @"name", 
           self.appID, @"app_id", 
           self.title, @"caption", 
           self.link, @"link", 
           @"animateURL", @"picture", 
           nil]; 
[params setObject:"my-user-profile-id" forKey:@"to"]; 
[self.facebook dialog:@"feed" andParams:params andDelegate:self]; 

}

的問題是預期的授權已完成,但試圖其實上傳的時候,我看到了嵌入式瀏覽器的錯誤信息「不能發佈到用戶的牆「。

任何人都可以幫助我嗎?

回答

0

您是否從擴展權限請求publish_stream權限?

大約從publish_stream權限的文檔:

使您的應用程序來發布內容,評論,喜歡到用戶的 流和用戶的朋友的流。通過此權限,您可以隨時向用戶的Feed中發佈內容,而不需要 需要offline_access。但請注意,Facebook 建議使用用戶發起的共享模式。

http://developers.facebook.com/docs/reference/api/permissions/

您可以要求任何權限是這樣的:

NSArray *permissions = [[NSArray alloc] initWithObjects: 
      @"publish_stream", 
      nil]; 
     [facebook authorize:permissions]; 
     [permissions release]; 
+0

我這樣做,它會持續顯示相同的錯誤消息我。請注意,當我嘗試使用HTTP請求使用瀏覽器調用此功能時,我可以成功發佈到該頁面。我還將使用這些權限的應用程序添加到處理頁面的Facebook配置文件中。 – csotiriou

+0

你確定嗎?在你發佈的代碼中,我看到[self.facebook authorize:nil];這意味着你不包括NSArray的權限?或者你改變了這個準備? –

+0

我剛剛改變了這個效果。你是對的,我應該編輯我的第一篇文章 – csotiriou

相關問題