如何将参数传递给 Facebook,fb://publish/?

Posted

技术标签:

【中文标题】如何将参数传递给 Facebook,fb://publish/?【英文标题】:How to pass parameters to Facebook, fb://publish/? 【发布时间】:2011-07-25 08:12:38 【问题描述】:

从我的 ios 应用程序中,我想打开 Facebook 应用程序以在用户墙中发帖。我想提供一个预定义的文本来发帖,但我不知道如何将文本添加到通话中。

 NSString *post = [NSString stringWithFormat:@"fb://publish"];
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:post]];

如何使用“fb://publish/”选项传递文本参数?

【问题讨论】:

为什么不使用 Facebook iOS SDK 在应用程序中显示对话框? developers.facebook.com/docs/guides/mobile/#ios 问题没有错。我不想制作 FB 应用 - 只需打开现有的 FB 应用即可在我的墙上分享内容。 【参考方案1】:

在 Safari 中,一些类似这样的 html 似乎可以正常工作:

<a href="fb://publish/?text=#text#">...</a>

它会打开 Facebook 应用程序的共享对话框,其中包含预定义的文本,您必须先对其进行编辑才能真正共享它。您还可以在文本中包含 URL; Facebook 在发布后会将其转换为简单链接,但它不会像往常一样添加在该 URL 上定义的图像或任何其他元详细信息。

注意这会重定向到旧式发布屏幕,

不是 Facebook 应用程序自 3.4 版以来一直使用的那个。

【讨论】:

@kopischke 好点,我什至没有注意到!我想知道他们为什么将这个旧 UI 留在应用程序中?顺便说一句,最近发现这不适用于 Facebook 的 iPad 应用程序。 已确认,这目前不适用于 iPad,但可以在 iPhone 等设备上正常工作。无法确保已安装 facebook 应用程序...等。【参考方案2】:

首先安装 Facebook API 并尝试此代码...

 NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               FBAppID, @"130506840369385",
                               @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                               @"http://fbrell.com/f8.jpg", @"picture",
                               @"Facebook Dialogs", @"name",
                               @"sdsdds", @"caption",
                                @"asdasdasd", @"description",
                               @"hi goolwihdfkasnv",  @"message",
                               nil];

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

【讨论】:

【参考方案3】:

要在 Facebook 上发布状态,请使用此 URL:fb://publish/profile/me?text=foo

【讨论】:

以上是关于如何将参数传递给 Facebook,fb://publish/?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数

如何将参数传递给 Java 线程?

如何将参数传递给进程

如何通过反射将参数传递给方法

如何将参数传递给 erlang os:cmd()?

如何使用 SwiftUI 将参数传递给 Button 的操作