如何仅使用帖子 ID 与 FBWebDialogs 共享 Facebook 帖子?

Posted

技术标签:

【中文标题】如何仅使用帖子 ID 与 FBWebDialogs 共享 Facebook 帖子?【英文标题】:How to share a Facebook post with FBWebDialogs using only the post id? 【发布时间】:2013-11-18 03:52:51 【问题描述】:

我从FBWebDialogs 文档中看到,您可以传入一个“链接”参数(到外部内容的超链接),以便与 Facebook 分享。但是在我的应用程序中,我没有超链接——我只有我希望重新分享的给定 Facebook 帖子的“id”。

问:如果您只有帖子 ID,如何分享 Facebook 帖子?

【问题讨论】:

【参考方案1】:

我能够找到适合我的解决方案。本质上,您需要构建一个绑定 USER_ID 和 POST_ID 的永久链接,并将该永久链接作为参数之一传递:

#import "Facebook.h"
    // ...

        // Facebook ID is provided in form USER_ID_POST_ID
        NSString *rawId = @"113418445354091_460428417431691";

        // Explode the ID into an array with two elements
        NSArray *idArray = [rawId componentsSeparatedByString:@"_"];

        // Build the permalink and bind the USER_ID and _POST_ID
        NSString *path = [NSString stringWithFormat:@"http://www.facebook.com/permalink.php?id=%@&v=wall&story_fbid=%@",[idArray objectAtIndex:0],[idArray objectAtIndex:1]];

        // Build params dict
        NSDictionary *params = @
                       @"access_token" : @"MY_FACEBOOK_ACCESS_TOKEN",
                       @"name"         : @"My Post Name",
                       @"description"  : @"My Post Description hello there how are you.",
                       @"link"         : path
                       ;


        // Call the Dialog
        [FBWebDialogs presentFeedDialogModallyWithSession:nil
                                               parameters:params
                                                  handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
    ];


    // ...

【讨论】:

以上是关于如何仅使用帖子 ID 与 FBWebDialogs 共享 Facebook 帖子?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 如何仅获取自定义帖子类型的父帖子

FBWebDialogs 缺少用于验证用户的会话 Cookie

使用 FBWebDialogs (Facebook SDK 3.5) 成功发布后的 nil resultURL

我可以通过 presentFeedDialogModallyWithSession 传递给 FBWebDialogs 的全套合法参数是啥

Facebook FBWebDialogs 参数一次邀请多个朋友

从 Firebase 中的特定 ID 列表中检索数据,关注用户并仅获取他们的帖子