当我需要展示完成对象上的操作所花费的时间时,如何指定属性。
例如
1 hour 2 minutes
20 minutes
2 minutes 20 seconds etc.
Facebook 公开了一个DateTime类型。但我理解它的方式是实际时间而不是间隔。
如何指定我喜欢的 320 秒并且 OG 会在适当的分区中显示它?
当我需要展示完成对象上的操作所花费的时间时,如何指定属性。
例如
1 hour 2 minutes
20 minutes
2 minutes 20 seconds etc.
Facebook 公开了一个DateTime类型。但我理解它的方式是实际时间而不是间隔。
如何指定我喜欢的 320 秒并且 OG 会在适当的分区中显示它?
您想使用duration
文本模板来显示您的操作类型的自定义属性。
这是一个在 Open Graph Aggregation 单元中显示持续时间的示例:
sleep
我在 object-type有一个 action-type bar
,我的 Aggregation 显示小睡的持续时间。
创建 action-type sleep
,将其连接到 object-type bar
,并创建sleep_seconds
一个 Integer 自定义属性:
自定义属性sleep_seconds
将保存小睡的持续时间(以秒为单位)。
接下来,创建一个显示持续时间的 OG 聚合(称为duration
文本模板):
我的对象类型bar
有一个名为 的自定义属性rating
,这并不重要,duration
但我只是为了好玩而展示它——它保存了这个栏对睡眠有多好的评价:)
最后,要发布一个动作,我使用 js-sdk 并包含持续时间sleep_seconds
:
function post() {
FB.api(
'/me/esmithy_one:sleep',
'post',
{bar: 'http://www.plooza.com/og/bar11.html',
sleep_seconds: 60*60*1 + 60*39 + 2 // h m s
},
function(response) {
if (!response || response.error) {
console.log(response);
alert('Error occured');
} else {
console.log(response);
alert('Post was successful! Action ID: ' + response.id);
}
}
);
}
如果您真的想显示“1 小时 39 分 2 秒”而不是 1:39:02,那么您可以在代码中计算它,将其转换为字符串,并将字符串保存为操作的自定义属性-类型。当然,您的操作类型的自定义属性将string
代替integer
。
你可以试试这个很棒的应用程序:http: //plooza.com/og/sleep1.html
如果您无法让您的聚合单元显示在用户的时间轴中,请尝试删除除您要显示的聚合之外的所有其他聚合。在测试我的测试应用程序时,我必须这样做。此外,发布足够的操作来填充聚合单元。
更多信息: https ://developers.facebook.com/docs/opengraph/template/