0

我正在使用 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);

               }
}];

结果字典中没有任何内容

谢谢

4

2 回答 2

1

我认为结果字典中没有关于帖子的任何信息的原因是 Facebook 不希望应用程序开发人员知道是否确实发布了帖子。

用户可以中止发布内容,但应用程序仍会将其报告为成功。

于 2014-04-17T11:50:36.160 回答
0

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

[[FBLoginView alloc] initWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceEveryone];
于 2014-06-29T16:15:04.657 回答