我正在构建一个客户端插件,它的功能非常类似于第三方应用程序中的图像/文章图库。
当在图库中点击一篇文章/图片时,页面的url标签会被修改,这样每一张图片/文章都会有一个绝对的url。
在尝试为每一张图片添加Facebook分享/点赞按钮时,我遇到了以下问题- Facebook (或Twitter)将抓取原始页面并获取父页面的元数据,但不会获取正在共享/点赞的图片/文章的实际内容。
据我所知,没有通过API的动态方式来告诉FB在提要上放置哪些内容。但是,对于此项目,提要将显示图像和与此图像/文章相关的一些特定的元数据,这一点至关重要。
我也相信FB不会运行Javascript,所以即使我动态地替换了主页的meta标签,抓取的信息仍然是原始信息。
唯一的解决方案似乎是服务器端,但当然,这将超出本项目的范围,我将无法确定客户端将使用哪种服务器端语言。
有没有一种客户端专用的方法来实现这一点?
如果不是,有没有办法让登陆页面(人们点击FB帖子时跳转到的页面)不同于meta tag url (所以我可以从一个不同的url而不是客户的url中删除它)?
发布于 2016-04-21 22:22:13
当Facebook访问你共享给Facebook的URL时,你需要将Open Graph meta标签返回给Facebook的爬虫(更多关于爬虫和最佳实践的信息:https://developers.facebook.com/docs/sharing/best-practices )
如果您的URL是这样的客户端逻辑或重定向与爬虫程序不兼容,这在理论上是很好的,但您需要特殊情况您的代码返回一致的标记到爬虫程序在该URL没有我们的重定向,并提供其他/现有的其他浏览器(但这很容易出错,只能修复FB的爬虫程序,而不是其他服务)
理想情况下,您共享的URls应该显示共享的内容(即该图像或文章的永久链接),并且您可以从该页面链接回类别或其他功能,或者稍后动态加载“父”内容(不确定您的确切用例
https://stackoverflow.com/questions/36229336
复制相似问题