Facebook 允许终端客户端编辑类似按钮URL和打开图形标记

Facebook 允许终端客户端编辑类似按钮URL和打开图形标记,facebook,facebook-like,facebook-apps,Facebook,Facebook Like,Facebook Apps,试图改善我的提问礼仪,所以我会陈述我的目标,提出我的问题,然后跟进我所做的研究 Aim:我们正在构建一个新的插接子网站,以提供给可能要放置在其服务器上的许多终端客户端,因此他们的站点可能构建在Windows或Unix上。考虑到这一点,我们选择用HTML和Javascript构建它。在一系列问题之后,该插件将生成一个产品推荐,用户将有机会喜欢对Facebook的推荐 问题:如果代码中正确的meta-og标记已指示给终端客户端,它们是否可以替换og:URL中的域 研究:我在这个网站上寻找了一个类似的

试图改善我的提问礼仪,所以我会陈述我的目标,提出我的问题,然后跟进我所做的研究

Aim:我们正在构建一个新的插接子网站,以提供给可能要放置在其服务器上的许多终端客户端,因此他们的站点可能构建在Windows或Unix上。考虑到这一点,我们选择用HTML和Javascript构建它。在一系列问题之后,该插件将生成一个产品推荐,用户将有机会喜欢对Facebook的推荐

问题:如果代码中正确的meta-og标记已指示给终端客户端,它们是否可以替换og:URL中的域

研究:我在这个网站上寻找了一个类似的问题,但没有发现任何相关的问题-除了我创建了一个测试应用程序,并将其链接到我服务器上的测试url,并且了解当点击类似的内容时,Facebook会重新加载页面并收集og元数据。我利用这些知识实现了一个随机产品生成器,使用JQuery编写了一个不同的og:description,以测试最终用户可以在同一个终端URL(例如)上获得他们喜欢的许多推荐产品中的任何一种

我还了解,如果我的测试服务器上的URL发生了更改,并且我使用fb:app_id调用我的应用程序,则该应用程序将使用网站URL调用我的原始URL,并且喜欢旧的og:description

在subsite文档中,我希望能够告诉最终客户,他们可以编辑其域的og:url,公司徽标的og:image-og:description将通过一系列问题使用Javascript动态生成

但据我所见,如果你编辑og:url,它将与应用程序中的不匹配

您是否可以在不链接到FB应用程序的情况下使用Open Graph标签实现类似FB的按钮?只要看看类似问题窗格上出现的其他内容,它似乎说开放图形是在单个页面之间创建链接,并在Facebook内创建页面,这似乎超出了我的要求。所以我可能错过了一个步骤,只是用元数据创建了一个愚蠢的简单按钮

非常感谢您的指点和帮助
Frank

正如您指出的,Facebook的linter不运行JavaScript

因此,您必须让您的web服务器根据linter的请求吐出正确的og标记。因此,在类似代码中使用的URL将是至关重要的。您需要一种方法使该URL唯一,并使web服务器知道要为其呈现哪些og标记

因此,您的解决方案将知道每个产品的唯一URL,或者您的解决方案将需要包含为每个产品生成唯一内容的服务器端代码(可能类似于/getProduct.php?id=123或类似于/products/123/)。

这回答了我所有的问题。如何在不使用应用程序的情况下轻松简单地创建一个Like按钮-官方FB文档没有从初学者深入到高级教程(我认为应该这样做)-可能会减少这里的问题

还有这里的新手读到这个;更新代码并发送到服务器后,将链接发送到FB调试器,因为它似乎在刷新FB的内容

还可以使用“FB Insights”查找您的FB:Admins编号


感谢DMCS的帮助

我还碰到了另一面墙——我刚刚发现Like按钮数据是在页面加载时收集的,尽管我可以使用jQuery调整og元标记,但原始数据已经用于生成出现的隐藏Like框。因此,我似乎只能使用服务器端语言生成og属性元标记;除非我漏掉了什么明显的东西?(漫长的一天,剧烈的牙痛,没有牙医=大脑不能正常工作…)DMCs干杯-有没有任何方法可以在客户端完成;在进入服务器端之前,我想彻底探讨一下这一点。我在某个地方读到,当你“喜欢”的时候,facebook会重新加载页面来抓取数据吗?我已经看过了一个版本,它有一个对站点url的反向引用-这会进行重新加载吗?有趣的是,动态地写出服务器端的标记是如此简单,但是一旦这些头被发送,就这样了。。。我仍在试验客户端,所以希望会出现一些东西。我刚刚与另一个项目开发人员进行了检查-幸运的是,产品列表将只有9或12项。所以你回答问题,然后得到推荐的产品1、2、3等。因此,拥有9~12个唯一的URL是可以的——例如domain.com/recommendedProduct1.html,并为每个项目构建硬编码的属性标记。那就行了;我只是想在拥有一个最终结果页面(使用localStorage)时提高代码效率。告诉终端客户在iframe中用他们的域替换domain.com/product1.html是否仍然有效?您可以使用一个页面作为每个页面的“唯一”url。如果您的项目开发人员不知道如何完成我原始答案中的最后一段,那么是时候解雇他们,让项目开发人员知道如何编写代码了。这是一个超基本的东西,没有什么神奇的。他们应该知道如何做到这一点,如果你付给他们一大笔钱,让他们成为一个项目开发人员。哈哈,我要赶紧补充一句,我是这个项目的主要开发人员。。。也许“项目开发者”应该是“项目策划人”。。。但我理解你对mysql写入的单个页面使用php之类的东西的意思。如果我只使用html创建10~12个静态页面,如果我告诉客户端更改og:image或og:url等中的域以显示他们的徽标或公司名称,我是否会被卡住,因为这类链接的应用程序有一个指向我的测试服务器的站点url。那么,最终,我是否可以在不反向引用应用程序id的情况下实现Like按钮呢?作为测试,我已经设置了一个ph值