2013-04-15 28 views
0

我想發佈文本和圖像使用Facebook源對話框,我可以發佈到我自己的牆上,但無法標記朋友。我可以從FBFriendPickerViewController中選擇一個朋友,但是當我點擊完成但我得到返回錯誤5。在其中一個stackoverflow問題(ios-Facebook SDK 3.0錯誤5當發佈狀態更新)有幾種方法可以得到這個錯誤,我已經糾正了在該問題中提到的所有可能的方式。如何標記朋友在Facebook中的用戶發佈目標C

,是飼料對話框正確[FBRequestConnection startWithGraphPath:@ 「%@ /飼料」 參數:PARAMS

這是我的代碼,

- (IBAction)pickFriendsList:(UIButton *)sender 
{ 
    FBFriendPickerViewController *friendPickerController = [[FBFriendPickerViewController alloc] init]; 
    friendPickerController.title = @"Pick Friends"; 
    [friendPickerController loadData]; 

    [friendPickerController presentModallyFromViewController:self animated:YES handler: 
    ^(FBViewController *sender, BOOL donePressed) { 

     if (!donePressed) { 
      return; 
     } 

     NSString* fid; 
     NSString* fbUserName; 

     for (id<FBGraphUser> user in friendPickerController.selection) 
     { 
      NSLog(@"\nuser=%@\n", user); 
      fid = user.id; 

      fbUserName = user.name; 

      NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"aaaaaa", @"message", @"http://webecoist.momtastic.com/wp-content/uploads/2009/01/nature-wonders.jpg", @"picture", @"My Susfsdfsdfs sdf sfsdfp", @"name", nil]; 

      NSLog(@"\nparams=%@\n", params); 


      [FBRequestConnection startWithGraphPath:@"%@/feed" parameters:params HTTPMethod:@"POST" 
            completionHandler:^(FBRequestConnection *connection, id result, NSError *error) 


       { 
        //Tell the user that it worked. 
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Shared" 
                     message:[NSString stringWithFormat:@"Invited %@! error=%@", fbUserName, error] 
                    delegate:nil 
                  cancelButtonTitle:@"OK" 
                  otherButtonTitles:nil]; 

        [alertView show]; 
        NSLog(@"%@ alertview description",alertView.message); 

       } 
       ]; 

     } 

    }]; 

} 

enter image description hereenter image description hereenter image description hereenter image description here

錯誤:

> Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be 
> completed. (com.facebook.sdk error 5.)" UserInfo=0xa157bf0 
> {com.facebook.sdk:HTTPStatusCode=500, 
> com.facebook.sdk:ParsedJSONResponseKey={ 
>  body =  { 
>   error =   { 
>    code = 1; 
>    message = "An unknown error has occurred."; 
>    type = OAuthException; 
>   }; 
>  }; 
>  code = 500; }, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x9491490, state: FBSessionStateOpen, loginHandler: 0x946f8d0, appID: 
> 511223775602729, urlSchemeSuffix: , 
> tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x948f2b0>, 
> expirationDate: 2013-06-15 05:04:17 +0000, refreshDate: 2013-04-16 
> 10:36:11 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, 
> permissions:()>} 

回答

1

注意:你在你的代碼所缺少FB User ID

如下更改代碼:

[FBRequestConnection 
      startWithGraphPath:[NSString stringWithFormat:@"%@/feed", fid] 
      parameters:params 
      HTTPMethod:@"POST" 
      completionHandler:^(FBRequestConnection *connection, 
           id result, 
           NSError *) 

問候,

+0

.... ru免費,我無法弄清楚 – raptor

+0

不要擔心,我們會弄清楚。好的,現在你的錯誤表明它與FBsession有一些問題。你能否在代碼塊中發佈完整的錯誤,謝謝! –

+0

非常好!一旦我有空閒時間,我會檢查一下。 –

0

您可以使用checkins或Open Graph操作在Facebook中標記好友,以便checkins應用程序需要獲得該權限,但可以使用基本應用程序設置。但對於開放圖譜有多種設置,你將不得不這樣做。你可以看看到here

+0

iphonic我收到錯誤 – raptor

+0

'feed'通常用於用戶進料。你需要在'%@'上傳遞參數來告訴Facebook你正在發佈哪個用戶的牆,這裏你需要給你朋友的用戶名,或者如果你想在你的牆上發帖,那就是'我/提要'。所以它應該看起來像'/feed'。 – iphonic

相關問題