2

我正在尝试创建一个自定义对象 ( objnew) 并尝试将操作与它关联 ( actnew)。到目前为止一切都很好。

现在,我必须编写代码,在其中创建类型对象objnew和相关操作。

如何创建对象?我得到了将其发布到 Facebook 的示例代码:

curl -F 'access_token=XXXXXXXXXXXXXX' \
 -F 'newobj=http://samples.ogp.me/467564296596508' \
    'https://graph.facebook.com/me/myapp:newact'

现在这newobj是一个参考。如何创建它并获取 URL?

4

2 回答 2

4

请注意以下编辑!

现在,我想添加用户在发布故事时可以参考的多个食谱。我怎样才能使用 API 做到这一点?

使用 API 执行此操作。

Open Graph 对象基本上只是引用具有适当 OG 元标记集的页面的 URL。

因此,只需在您的网站上设置这些 URL - 如果您愿意,您可以手动执行此操作,或者使其成为数据库驱动的,其中 URL 中只有一个参数,让您的脚本从某个表中提取适当的数据并拥有它用该数据填充 OG 元标记。

然后,在发布操作时,您只需将其中一个对象的 URL作为参数提供 - Facebook 会完成其余的工作,它会“抓取” URL 并从那里提取数据。

你现在做的方式,使用http://samples.ogp.me/467564296596508- 好吧,就像 URL 所说的那样,基本上只是为了samples。发布“真实”操作时,对象也应该是真实对象——即您网站上的对象,其 URL 指向您的网站。

并使用Facebook 调试器检查您的对象(并修复它可能发现的任何问题)——这有助于防止您作为该主题的初学者可能遇到的问题。


编辑:自从我最初写这篇文章以来,情况发生了变化——Facebook 现在允许您通过 API 创建对象,这些对象可以属于您的应用程序或特定用户。

有关完整文档,请参阅:https ://developers.facebook.com/docs/sharing/opengraph/object-api

于 2012-07-21T09:58:08.427 回答
1

如果您希望您的故事内容托管在您的网站上并让 Facebook 抓取工具创建对象,那么按照 CBroe 的建议进行操作会非常有效。

我只是想补充一点,可以通过调用图形 api 来创建对象来让 Facebook 托管您的对象。请注意,这将为调用 api 的 Facebook 用户创建一个活动日志条目。

以下是如何使用 api(在 javascrip 中)创建对象的示例

FB.api(
  'me/objects/yourappdomain:objectypename',
  'post',
  {
    og:title: title,
    og:type: yourappdomain:objectypename,
    yourappdomain:customobjectpropertyname: propertyvalue,
  },
  function(response) {
    // save the created object's id returned as you will need to specify it when creating your storie's action
  }
);

要获取显示如何为您的自定义对象类型执行此操作的示例代码,请转到您应用的 Facebook 开发人员页面。单击 Open Graph -> Object Types -> Get Code(在您要创建的对象类型旁边)。

请参阅 Facebook Developer 上的使用对象

于 2015-04-16T15:46:45.840 回答