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