FBDialogs在成功时检索post_id

时间:2014-04-17 11:43:33

标签: ios facebook-ios-sdk facebook-sdk-3.0 fbdialogs

我正在使用FBDialogs共享链接,并且作为跟踪的一部分,我想将该共享帖子的post_id返回给服务器。

如何在成功时检索post_id

[FBDialogs presentShareDialogWithLink:params.link
           name:params.name
           caption:params.caption
           description:params.description
           picture:params.picture
           clientState:nil
           handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
               if(error) {
               // An error occurred, we need to handle the error
               // See: https://developers.facebook.com/docs/ios/errors
               NSLog(@"%@",[NSString stringWithFormat:@"Error publishing story: %@", error.description]);
               } else {
               // Success
               NSLog(@"result %@", results);

               }
}];

结果词典中没有任何内容

由于

2 个答案:

答案 0 :(得分:1)

我认为结果词典中没有关于帖子的任何信息的原因是Facebook不希望应用开发者知道是否确实有帖子。

用户可以中止发布内容但是仍然会向应用报告成功。

答案 1 :(得分:0)

要在响应中获取postId,您需要在呈现FBDialog之前请求发布权限,否则postId将不会出现在响应中。例如,如果您有FBLoginView,则可以使用:

[[FBLoginView alloc] initWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceEveryone];