Facebook开放图谱对象是否可以动态创建?

3

我正在开发一个Facebook应用程序。我已经在Open Graph中创建了一个自定义对象,以下是我关心的几个问题:

  1. 每个特定类型的对象实例是否需要一个唯一的网页?
  2. 我正在使用JS SDK发布开放图谱操作,有没有规定我在JS函数中使用的对象网址(在下面的代码中为“myobjectrul”)?

FB.api('/me/myapp:myaction' + '?myobject=myobjecturl&access_token=myaccessToken',               'post',               {scrape:true},

         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. 我们可以在对象网址中传递任何查询字符串,以便在对象页面中检索到它们吗?

  2. 如何发布具有不同对象属性(例如,不同的图像、不同的URL等)的相同对象类型?

非常感谢您的帮助。

1个回答

8
答案是肯定的。每个对象实例都映射到一个页面,无论是html、C#、php等等。因此,如果您是一个jquery ajax动态程序员,您将不得不改变您的架构或者放弃使用open graph。
我的公司http://www.fuhshnizzle.com使用jquery、ajax和Amazon S3创建视频播放列表,并在播放器中运行。这是一种非常轻量级的架构。最近,我们分配了资源直接发布播放列表到开放图谱。我们的高级架构师最初没有意识到这不是动态的。他们假设他们可以像定义C#类一样定义对象,然后在发布时动态实例化它们。
在我们的情况下,我们会有相当多的困惑,因为我们需要为每个播放列表发布一个网页,然后问题就出现了CRUD。如果用户更改了播放列表,删除了它等等。本质上,我们需要将html页面转换成数据库记录的等价物。
从成本和效益的角度来看,这很粗略。如果我们每天创建100,000个播放列表,现在是否必须发布和维护100,000个网页?答案是肯定的。这是一个非常昂贵的建议,似乎忽略了通过参数和脚本即时创建内容的网络的力量。不得不创建静态内容是我公司在许多情感会议之后的破局点。
我们的首席架构师咕哝着走出去,说了些什么“尾巴摇狗”的话。就我个人而言,我认为这是一项业务决策,必须根据您的业务模型进行决策。
发布对象 开放图谱对象只是带有开放图谱元标记的网页。 动态生成Facebook开放图谱元标记

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接