改变Facebook GraphAPI页面刮取数据

时间:2014-10-18 20:45:48

标签: javascript facebook facebook-graph-api

所以我目前正在构建一个单页应用程序,因此需要在加载所有数据后更新元数据。 (该应用程序是严格的JavaScript和HTML,很少甚至没有后端尝试轻量级...整个应用程序是〜50kb)

不幸的是,在调查这个问题之后,让我意识到Facebook在屏幕刮擦过程中永远不会看到更新的元数据,因为js不会运行。

但是我确实意识到,当你向https://graph.facebook.com/id=http://sitename发送请求时,它会以这种格式回复一个对象:

{
   "url": "http://site/",
   "type": "website",
   "title": "site name",
   "image": [
      {
         "url": "http://site/thumb.jpg"
      }
   ],
   "description": "site description",
   "updated_time": "2014-10-18T20:10:29+0000",
   "id": #
}

我的问题是,是否可以更新此对象并使用您希望他们使用的值将其发回给Facebook?

1 个答案:

答案 0 :(得分:1)

据我所知,Facebook刮刀只读取标题中设置的数据和OG标签。请参阅:http://davidwalsh.name/facebook-meta-tags

因此,通过在您的应用中正确设置它们,Facebook应该选择数据。请记住,Facebook刮刀有一个缓存系统,可以使用Facebook URL linter(手动)清除。

此工具也可用于调试。见https://developers.facebook.com/tools/debug

当页面加载时,数据需要存在'静态'(或由服务器端语言放置),因为Facebook刮刀不会解析Javascript。