使用带有地图附件的 Facebook Open Graph Story (GeoPoint)

Posted

技术标签:

【中文标题】使用带有地图附件的 Facebook Open Graph Story (GeoPoint)【英文标题】:Using Facebook Open Graph Story with map attachment (GeoPoint) 【发布时间】:2013-10-15 14:21:17 【问题描述】:

我正在尝试使用 ios SDK 创建一些带有地图附件的 Open Graph Story,但遇到了一些问题。

首先,我在创建对象时遇到了问题……我设置了一个继承自“Place”的对象。所以这是第一个问题“如何使用 iOS Facebook SDK 设置 GeoPoint 属性?”......经过多次尝试,我放弃了......所以我创建了一个继承自 'Object' 的对象并创建了一个自定义属性将“位置”命名为 GeoPoint。但是这个解决方案给我带来了同样的问题“如何使用 iOS Facebook SDK 设置 GeoPoint 属性?”

我只需要创建一个带有显示场地位置的地图的故事。

这是我的对象:

id<FBOpenGraphObject> openGraphObject = (id<FBOpenGraphObject>)[FBGraphObject openGraphObjectForPost];
[openGraphObject setType:@"appnamespace:venue"];
[openGraphObject setTitle:[currentVenue name]];
[openGraphObject setObject:@"en_US" forKey:@"og:locale"];
[openGraphObject setObject:[[currentVenue locationLatitude] stringValue] forKey:@"appnamespace:location:latitude"];
[openGraphObject setObject:[[currentVenue locationLongitude] stringValue] forKey:@"appnamespace:location:longitude"];

但不工作。

它出现在 Facebook 浏览器对象中,但只有名称。其他属性为零。

有人可以帮助我吗?

【问题讨论】:

【参考方案1】:

您的自定义属性应添加到名为data 的字典中。 在我的 Facebook 应用程序中,我有一个对象(继承自 Object),其属性名为 position,它是一个 geo_point。

这是我用来创建对象的代码:

NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
object.provisionedForPost = YES;
object[ @"title"] = @"Title";   // for og:title
object[ @"type"] = @"my_namespace:my_object";
object[ @"data" ] = @ @"position": @ @"latitude": @55, @"longitude": @12 ;

【讨论】:

【参考方案2】:

属性不需要以您的应用命名空间为前缀,每个“:”都意味着一个新对象或字典。

尝试类似:

[openGraphObject setObject:@@"latitude": [currentVenue locationLatitude], 
                             @"longitude": [currentVenue locationLongitude]
                 forKey:@"location"];

【讨论】:

我可以应用放大地图附件吗?我将分享一个位置,而地图显示的距离很远......我想在该位置应用放大

以上是关于使用带有地图附件的 Facebook Open Graph Story (GeoPoint)的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Open Graph 发布带有对象的操作

React native Linking open url不适用于ios上的facebook链接

打开图形地图布局

使用 fql 从私人 facebook 消息中获取附件

将 Facebook 登录和地理位置数据插入 MongoDB

Facebook Messenger 平台发送本地图片附件