繁体   English   中英

Facebook ios SDK-如何处理供稿对话框回调?

[英]Facebook ios SDK - How to handle feed dialog callback?

我使用在Facebook开发人员网站上找到的以下代码来撰写留言:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                             @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                             @"http://fbrell.com/f8.jpg", @"picture",
                             @"Facebook Dialogs", @"name",
                             @"Reference Documentation", @"caption",
                             @"Dialogs provide a simple, consistent interface for apps to interact with users.", @"description", nil];

[_facebook dialog:@"feed" andParams:params andDelegate:self];

这显示了一个弹出窗口,允许用户编写其消息并按发布或取消。

有什么方法可以知道帖子是否被成功发布(取消或连接问题)?

非常感谢!

尝试使用除self之外的其他委托来捕获对话框的响应。

请参阅: http : //developers.facebook.com/docs/reference/iossdk/dialog/

如果要调用的方法需要参数来设置对话框,则应调用此对话框。 您应该设置委托以处理对话框成功,用户取消对话框以及任何错误情况的情况。

至于委托: http : //developers.facebook.com/docs/reference/iossdk/FBRequestDelegate/我假设这将是request:didReceiveResponse:委托。

编辑

有了其他反馈,您的答案就在我在原始回复中给出的链接上列出的dialogDidComplete委托中。

我认为您可以使用- (void)dialogDidComplete:(FBDialog *)dialog; FBDialogDelegate的方法。

与您的问题有关-我试图找出哪个对话框已完成。

您可以检测对话框的参数,并检查它是哪一个。 当我发送各种对话框时,我遇到了这个问题,并且想在另一端知道哪个成功与否。

- (void)dialogDidComplete:(FBDialog *)dialog {
    // the song feed return
    NSLog(@"params; %@",dialog.params);
    if([[dialog.params objectFOrKey:@"ref"] isEqualtoString:@"songfeed"]){
        // do stuff on return from this dialog
    }
}

+1为Hlung和DMCS提供了帮助,但看来Feed对话框越来越不赞成使用,并且处理适当的回调很麻烦(不可能吗?)。 另外,FB文档不是最新的。

所以我最终使用了(void)requestWithGraphPath而不是(void)dialog ,它需要额外的权限才能发布到用户的墙上,但在以下两个回调中效果更好:

- (void)request:(FBRequest *)request didLoad:(id)result
- (void)request:(FBRequest *)request didFailWithError:(NSError *)error

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM