8

我正在尝试通过在 v2.0 中实现的新 Facebook 消息对话框分享/发送链接给朋友。

我一直遵循文档的方向:https ://developers.facebook.com/docs/ios/share#message-dialog-getting-started 这就是我尝试过的:

    [FBDialogs presentMessageDialogWithLink:[NSURL URLWithString:@"http://XXX.net/"] name:@"NAME" caption:@"CAPTION" description:@"DESCRIPTION" picture:nil 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 messaging link: %@", error.des

cription]);
        } else {
            // Success
            NSLog(@"result %@", results);
        }
    }];

这:(应该是同一件事)

FBLinkShareParams *params = [[FBLinkShareParams alloc] init];
    params.link = [NSURL URLWithString:@"http://xxx.net/"];
    params.name = @"NAME";
    params.caption = @"CAPTION";
    //params.picture = [NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/en/c/cd/Aller_Media_logo.png"];
    params.linkDescription = @"DESCRIPTION";

    [FBDialogs presentMessageDialogWithParams:params 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 messaging link: %@", error.description]);
                                        } else {
                                            // Success
                                            NSLog(@"result %@", results);
                                        }
                                    }];

这两种方法都会打开我的 Facebook Messenger 应用程序,其中的对话框预先填充了我的参数。但是当我发送消息时,除了链接之外的所有内容在接收者端都已消失。

据我了解,用户不必通过应用程序登录即可从 Facebook 消息对话框发送消息。

有谁知道这里发生了什么?这是 Facebook 的错误吗?

编辑:这已被确认为 facebook-bug:https ://developers.facebook.com/bugs/1547232035503916

4

2 回答 2

3

尽管此错误已在 2014 年 6 月修复,但在最新的 Facebook 示例代码中仍有可能出现类似问题。在最新示例“FBShareSample”和 Facebook“共享 iOS”文档中,他们使用了该方法

[FBDialogs presentShareDialogWithLink:....] 

它仅使用参数中的链接,而不使用其余参数(尽管后备示例 Feed Dialog 实际上确实使用了所有参数)。为了使用共享对话框中的所有参数,您需要使用

[FBDialogs presentShareDialogWithParams:...]
于 2014-10-11T12:45:21.150 回答
0

我注意到这取决于您提交的 URL。如果 URL 包含 Facebook Open Graph,则会显示 URL Open Graph 中的参数,并且这些参数会覆盖您放置的参数。

例如,我正在尝试将 URL 共享到我的 App Store。每个 App Store 链接都包含 Facebook Open Graph,因此它不起作用。

我认为 Facebook 建议在这种情况下使用发布自定义 Open Graph 故事。

于 2014-12-24T11:18:33.513 回答