如何在FB ShareDialog成功发布后获得帖子ID

时间:2013-06-04 19:57:10

标签: ios objective-c facebook-graph-api facebook-ios-sdk facebook-sharer

我指的是" ios 3.5如何"通过Facebook。这是我的代码

[FBDialogs presentShareDialogWithParams:params
                        clientState:nil
                            handler:
 ^(FBAppCall *call, NSDictionary *results, NSError *error) {
 if(error) {
     // If there's an error show the relevant message
     [self showAlert:[self checkErrorMessage:error]];
 } else {
     // Check if cancel info is returned and log the event
     if (results[@"completionGesture"] &&
         [results[@"completionGesture"] isEqualToString:@"cancel"]) {
         NSLog(@"User canceled story publishing.");
     } else {
         // If the post went through show a success message
         [self showAlert:[self checkPostId:results]];
     }
 }

在结果中,我只获得值为1的didComplete键。如何获得post_id?

5 个答案:

答案 0 :(得分:2)

使用字典

call.dialogData.clientState

答案 1 :(得分:0)

您是否已检查结果NSDictionary

NSLog(@"Results Dictionary: %@",results);放入第二个else语句中,并检查此词典的内容。

答案 2 :(得分:0)

如何查看此词典call.dialogData.clientState http://developers.facebook.com/docs/reference/ios/3.5/class/FBDialogsData

答案 3 :(得分:0)

如果用户在您的应用上登录Facebook,则只会返回post_id。也就是说,如果用户已对您的应用进行了身份验证如果用户未对您的应用进行身份验证,则不会返回此选项。

所以试着说一个FBLoginView,登录,看看是否返回了post_id。

答案 4 :(得分:0)

我注意到它只能在ios5上获得didComplete,如果你在ios6上测试它,那么可以获得“didComplete”和“completionGesture”。这可能是facebook SDK的错误。

相关问题