2012-02-29 93 views
3

我正在开发一个Facebook应用程序。我在打开的图中创建了一个自定义对象,下面列出的是我的几个问题可以动态创建Facebook的开放图形对象吗?

  1. 是否每个对象实例都在特定对象类型下需要唯一的网页?
  2. 我使用JS SDK发布的Open Graph的行为,没有任何规则,即URL对象(在下面的代码“myobjectrul”)我在js函数使用如:

FB.api( '/我/ MYAPP:myaction' +, '后', {刮:真正} '为MyObject = myobjecturl &的access_token = myaccessToken?',

  function (response) { 
      var msg = 'Error occured'; 
      if (!response || response.error) { 
       if (response.error) { 
        msg += "\n\nType: " + response.error.type + "\n\nMessage: " + response.error.message; 
       } alert(msg); 
      } else { 
       alert('Post was successful! Action ID: ' + response.id); 
      } 
     }); 

应该是相同与OG:URL中的元标记在对象中?

  1. 我们可以传递任何查询字符串以及可以在对象页面中检索的对象url吗?

  2. 我们如何可以张贴与不同对象属性相同的对象类型(例如,不同的图像,不同的URL等)

任何帮助感激。

回答

8

答案是肯定的。一个对象的每个实例都映射到一个页面,无论是html,C#,php ...什么。所以,如果你是一个jQuery Ajax动态程序员,你将不得不改变你的架构或者没有开放的图形。

我的公司http://www.fuhshnizzle.com使用jquery,ajax,Amazon S3创建运行在播放器中的视频播放列表。这是一个非常轻量级的架构。最近我们分配了资源将播放列表直接发布到打开的图中。我们的高级建筑师最初并不知道这不是动态的。他们假定他们可以像C#类那样定义对象,然后在发布时动态实例化它们。

在我们的案例中,我们不得不每个播放列表发布一个网页,然后问题出现在CRUD中,我们感到非常惊愕。如果用户更改播放列表,删除它等,该怎么办。实质上,需要将html页面转换为数据库记录的等同物。

从成本/收益的角度来看,这是粗糙的。如果我们每天创建100,000个播放列表,我们现在必须发布并维护100,000个网页?答案是肯定的。这是一个非常昂贵的提议,似乎忽略了网络通过参数和脚本即时创建内容的能力。在经过许多激动人心的会议之后,创建静态内容对我公司来说是一个难题。

我们的首席建筑师猛然咕out着“尾巴摇摆的狗”。对于我认为值得的是这是一个商业决策,必须根据您的商业模式做出决定。

发布对象

Open Graph的对象是简单的网页与Open Graph的meta标签。

Generating Facebook Open Graph meta tags dynamically