【问题标题】:Implementing metatags for open graph为开放图实现元标记
【发布时间】:2012-04-09 14:49:06
【问题描述】:

Facebook 在发送操作发布请求时需要对象的 url。现在,我的应用只允许授权用户,我将用户重定向到登录页面,然后重定向回用户请求的页面。

但是我如何区分试图访问元标记的 fb(在发布时)或来自我必须重定向的 fb 的用户?

【问题讨论】:

  • 你有没有解决过这个问题。我遇到了类似的问题。我无法将用户重定向到我的页面,而是转到操作页面(带有元数据)并停留在那里。

标签: facebook facebook-opengraph


【解决方案1】:

您错过了 OpenGraph 背后的一些概念。所有对象都应该有一个可公开访问的代表页面。

引用Facebook's OpenGraph Objects 文档中的Publishing Objects 部分:

Open Graph 对象就是带有 Open Graph 元标记的网页。在发布 Open Graph 对象之前,您必须在 Developer App 的 Open Graph 部分定义其对应的对象类型。在工具中定义对象类型后,您必须使用 Open Graph 元标记创建一个代表您的对象的可公开访问的网页。我们提供样板元标记,您可以使用这些元标记在开发人员应用程序中创建此网页(单击对象定义旁边的获取代码链接)。使用这些标签,您可以发布引用您的对象的操作。

当 Facebook 看到应用到您的对象的第一个操作时,我们将通过该操作抓取您的页面,读取其元标记并将用户连接到您的对象。在首次抓取您的对象后每 7 天,我们将尝试重新抓取您的对象,以使对象数据保持最新。

【讨论】:

  • 好的。所以我制作了一个可公开访问的页面,基本上只是根据每个对象更改的元标记。但我需要在其中提供一个 og:url,指向原始对象页面。因此,facebook 应该使用 og:url 指向的 url 发布操作,对吗?例如,iamkhush 正在阅读一篇文章(指向 og:url)。这里og:url指向的是app url,需要先授权,所以如果未授权,用户会先被重定向到auth页面。
【解决方案2】:

问题在于区分 Facebook 爬虫和用户。

我不记得我写的确切内容,但总体思路是 facebook 解析器只读取 html 头标签。我添加了一个 fb 重定向,它将经过身份验证的用户发送到所需的页面。此重定向不会影响爬虫,因为 javascript 不是由爬虫执行的。

现在,由于我的需要是只允许经过身份验证的用户继续进行,FB js api 也处理了身份验证。 :)

如果您需要知道具体的 fb api 调用,请告诉我。

【讨论】:

    猜你喜欢
    • 2011-09-19
    • 2015-07-16
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2012-04-27
    • 2012-01-18
    相关资源
    最近更新 更多