Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用GWT的Facebook开放图_Javascript_Facebook_Facebook Graph Api_Gwt_Facebook Opengraph - Fatal编程技术网

Javascript 使用GWT的Facebook开放图

Javascript 使用GWT的Facebook开放图,javascript,facebook,facebook-graph-api,gwt,facebook-opengraph,Javascript,Facebook,Facebook Graph Api,Gwt,Facebook Opengraph,我们正在使用GWT开发一个具有列表视图的页面,并选择一个项目。它以ajax样式打开一个细节,页面中没有刷新,并且在客户机中显示一个新视图。当显示该细节(或直接通过其url访问)时,在标题中设置开放图的元标记。这个细节就是我们的开放图形对象 问题在于,通过代码设置元标记(即使在onModuleLoad方法的开头)是不起作用的,因为Facebook在用户执行操作时不会检测到它们,并且Facebook认为该页面不是一个开放的图形页面。我们假设FB直接读取页面而不执行任何javascript 有什么想法

我们正在使用GWT开发一个具有列表视图的页面,并选择一个项目。它以ajax样式打开一个细节,页面中没有刷新,并且在客户机中显示一个新视图。当显示该细节(或直接通过其url访问)时,在标题中设置开放图的元标记。这个细节就是我们的开放图形对象

问题在于,通过代码设置元标记(即使在onModuleLoad方法的开头)是不起作用的,因为Facebook在用户执行操作时不会检测到它们,并且Facebook认为该页面不是一个开放的图形页面。我们假设FB直接读取页面而不执行任何javascript

有什么想法或解决办法吗


提前感谢。

您需要使用从查询字符串或路径获取对象id的处理程序来访问此服务器端,并执行两项操作:

  • 写出facebook的正确标签
  • “深度链接”到您的GWT应用程序中,以显示该应用程序的详细视图 反对
  • 因此,对于URL,例如:

    http://myapp.com/og/?type=movie&id=1234
    http://myapp.com/og/?type=film&id=6789
    
    HTML输出应该具有指定对象的所有标记,并且应该使用“书签”或导航到详细视图所需的其他信息启动GWT应用程序

    每个对象都需要自己的永久、不同的URL。因此,当您将其传递到facebook API时,facebook可以“抓取”它,并且他们可以将其作为新闻提要故事等的链接发布(因此机器可读,并为非机器显示相关内容!)

    它应该通过以下测试:

    需要参考的一些最新信息:

    将OpenGraph标记放入服务器端HTML呈现中,如下所述:

    由于Google认为不推荐使用AJAX爬行,他们建议在服务器端也使用HTML呈现:

    现在我有一个问题,在#之后的任何内容都不会发送到服务器。这就是详细信息ID所在的位置。我可以创建两个URL吗?真的是一个带#的,还有一个假的,只是为了“欺骗”facebook。。“假”是最重要的一个:)这是你需要传递到Facebook SDK的一个,这是用户从新闻故事等中直接访问的一个。