0

我在 facebook 应用程序中有一个页面,它是一个 opengraph 对象,当我从我的应用程序向 facebook 发布对该对象的自定义操作时,它会正确发布,但是当我使用 facebook 社交插件(例如喜欢和喜欢该对象)时,它是没有作为该对象发布,而是我的 facebook 应用程序的对象发布在时间轴上......所以我的问题是只能通过 opengraph 操作发布应用内对象吗?

4

1 回答 1

0

不,一旦 Facebook linter 抓取您的页面以获取数据,将创建新的 OpenGraph 对象或更新现有对象的数据,这将在以下几种情况下发生:

  • OpenGraph 动作引用对象已发布
  • 单击特定 URL 的“赞”按钮
  • 链接到您在 Facebook 上共享的页面(以直接方式或通过使用等的任何对话框)。link

您的 Like 按钮可能不是链接到您的真实应用程序 URL,而是链接到 Facebook 内的 URL,从而导致 Facebook 在 Like 按钮单击和 OpenGraph 操作发布时解析不同的页面。

我假设您的点赞按钮指向应用程序选项卡画布或应用程序页面,因为 Facebook 正确解析了指向常规应用程序画布的链接。

更新:
似乎 OpenGraph 标签的问题与您的应用程序返回404未找到状态代码)为您提供的 URL 并且仅返回 HTTP(但不是 HTTPS)请求的数据这一事实有关。如果返回错误代码,则缓存数据将被保留,并且在返回正确的状态代码之前不会更新。

更新 2:
当您提供真实的 URL 时,很明显您获得了应用程序的详细信息,而不是实际页面,因为所有未经授权的用户都重定向,这导致 Facebook linter 无法丰富真实的 OpenGraph 数据。

顺便说一句,您应该知道每个 OpenGraph 对象都必须具有可公开访问的 URL

于 2012-06-19T20:21:42.197 回答