Facebook 打开图形:如何为所用时间指定属性

Facebook 打开图形:如何为所用时间指定属性,facebook,facebook-graph-api,Facebook,Facebook Graph Api,当我需要显示在对象上完成操作所花费的时间时,如何指定属性。 e、 g Facebook公开了一个类型。但据我所知,这是实际时间,而不是时间间隔 如何指定我喜欢的320秒,OG将在适当的分区中显示它 您想使用持续时间文本模板来显示动作类型的自定义属性 下面是一个示例,显示开放图形聚合单元中的持续时间: 我在对象类型栏上有一个动作类型睡眠,我的聚合显示了小睡的持续时间 创建操作类型sleep,将其连接到对象类型bar,并创建一个自定义属性sleep\u seconds,该属性是一个整数: 自定义

当我需要显示在对象上完成操作所花费的时间时,如何指定属性。
e、 g

Facebook公开了一个类型。但据我所知,这是实际时间,而不是时间间隔


如何指定我喜欢的320秒,OG将在适当的分区中显示它

您想使用
持续时间
文本模板来显示动作类型的自定义属性

下面是一个示例,显示开放图形聚合单元中的持续时间:

我在对象类型
上有一个动作类型
睡眠
,我的聚合显示了小睡的持续时间

创建操作类型
sleep
,将其连接到对象类型
bar
,并创建一个自定义属性
sleep\u seconds
,该属性是一个整数:

自定义属性
sleep\u seconds
将以秒为单位保存午睡的持续时间

接下来,创建将显示持续时间的OG聚合(称为
duration
文本模板):

我的对象类型
bar
有一个名为
rating
的自定义属性,该属性对
持续时间不重要,但我显示它只是为了好玩——它包含此条睡眠效果的评级:)

最后,要发布一个动作,我使用JSSDK并包含持续时间,
sleep\u 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

您可以在以下位置尝试此很棒的应用程序:

如果无法在用户的时间线中显示聚合单元,请尝试删除除要显示的聚合之外的所有其他聚合。在测试我的测试应用程序时,我必须这样做。此外,发布足够的操作以填充聚合单元

更多信息:

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);
      }
    }
  );
}