使用Facebook Sharer时,Facebook将为用户提供使用从源中提取的一些图像中的一个作为其链接预览的选项.如何选择这些图像,以及如何确保我的页面上的任何特定图像始终包含在此列表中?
首先 - 我不相信这是一个重复的问题.我在SO上搜索了相同或类似的问题,并且由于问题之前的故障排除的性质,我相信这个问题是独一无二的.
Facebook无法掌握我的og:image文件,我尝试了所有常用的解决方案.我开始认为它可能与某些事情有关https://...
og:image"中链接的图像,但它们显示为空白.然而,当我们点击图像时,它们确实存在并且它们对它们是直接的.og:image向元添加另一个时,FB的linter会找到并读取它.它会显示预览.预览为空白.我们得到的唯一例外是本网站上没有的图片.cpanel或.htaccess阻止图像出现,所以我们检查.这没有.我们甚至< img src="[remote file]" >在一个完全不同的服务器上做了快速,图像显示正常.og:type另一个元标记的另一个奇怪之处.我们删除了所有这些,一次一个并检查它.没变.只是警告.og:image关闭任何或image_src,FB找不到任何图像.我在绳子尽头.如果我说自己和别人花了多少时间在这上面,你会感到震惊.问题是这是一个在线商店.我们绝对,肯定不能有图像.我们必须.我们有十个左右的其他网站......这是唯一有og:image问题的网站.它也是唯一一个https,所以我们认为这可能是问题所在.但我们无法在网络上的任何地方找到任何先例.
这些是元标记:
<meta property="og:title" content="[The product name]" />
<meta property="og:description" content="[the product description]" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-art-black.png" />
<meta property="og:image" content="http://www.[ADIFFERENTwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/ARShopHeader.png" /> …Run Code Online (Sandbox Code Playgroud) facebook opengraph facebook-graph-api open-graph-protocol facebook-opengraph
我用Open Graph的meta标签遇到了麻烦.好像Facebook正在缓存我的meta标签的旧值.旧值的属性og:title和og:url仍在使用,即使我已经改变了他们.
我在我的网站的页面上运行了Lint ,这出现了:

请注意,有两个值为og:title和og:url,最后一个值占优势.但是,最后两个条目是我用于此站点的OLD条目.我现在正在使用这些元标记(您可以验证是否查看HTML的来源):
<meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt – værdi 1.099 kr – køb nu kun 599 kr "/>
<meta property="og:description" content="Pinq.dk - Det gode liv for det halve"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://pinq.dk/tilbud/landsdaekkende/lissy/"/>
<meta property="og:image" content="http://pinq.dk/wp-content/themes/pinq/images/logo-top.png"/>
<meta property="og:site_name" content="Pinq" />
<meta property="fb:app_id" content="161840830532004" />
Run Code Online (Sandbox Code Playgroud)
为什么Facebook缓存og:title和og:url?是否有人遇到同样的问题?
Chrome(或任何其他webkit浏览器)在使用Facebook API时会抛出大量这些"不安全的JavaScript尝试使用URL访问框架...".
它不会干扰实际操作,但它确实使javascript控制台基本上无法使用.
我想知道是否有办法在控制台中专门抑制这些错误?或者如果有其他解决方案你们可以想到,我会非常感激.
谢谢.
我已经看到有关如何最好地实现Open Graph命名空间的相互矛盾的信息.具体来说,Open Graph网站使用了一些不同的方法,而Facebook Open Graph示例则使用其他方法.
Open Graph网站示例(使用HTML前缀属性):
<html prefix="og: http://ogp.me/ns#">
Run Code Online (Sandbox Code Playgroud)
Open Graph网站源代码(使用HTML XMLNS属性):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Run Code Online (Sandbox Code Playgroud)
Facebook Open Graph文档(使用HEAD前缀属性):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Run Code Online (Sandbox Code Playgroud)
Facebook Open Graph文档#2(使用HTML XMLNS属性):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)
什么是推荐的方法或甚至不重要?
试图按照这个问题:为whatsapp链接共享提供图片
我创建了一个简单的HTML网页,其中包含基本的Facebook元标记:
<!--FACEBOOK-->
<meta property="og:title" content="San Roque 2014 Pollos" />
<meta property="og:description" content="Programa de fiestas />
<meta property="og:image" content="http://pollosweb.wesped.es/programa_pollos/play.png" />
Run Code Online (Sandbox Code Playgroud)
Facebook linter验证正确,在Facebook上显示完美,但当我尝试通过WhatsApp分享时,图像不显示.
我在Android上的WhatsApp上尝试它
有没有办法让facebook蹩脚的Open Graph元标记验证我的doctype是否为<!DOCTYPE html>(HTML5)?
除了facebook的Open Graph元标记,我的文档完美验证.
我真的不想使用,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">因为这会产生一整套新的问题.
以下是其中一个验证错误的示例...
错误第11行,第47列:此时元素元素上不允许使用属性属性.
<meta property="og:type" content="website" />
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激...我一直在寻找和开启几天无济于事.
我正在构建facebook iframe app.我的应用程序加载一次(我收到signed_request一次),然后使用内部域链接浏览iframe中的页面.我注意到我在Chrome和Firefox中看到了这些奇怪的消息
FB.init has already been called - this could indicate a problem
Run Code Online (Sandbox Code Playgroud)
我很确定这种方法只被调用一次,而且似乎Facebook要求我在每次应用程序加载时调用一次(不是每页一次).
window.fbAsyncInit = function() {
FB.init({
appId: param('facebook_app_id'),
frictionlessRequests: true,
oauth: true,
channelUrl: site_url('/channel.html')
})
}
Run Code Online (Sandbox Code Playgroud)
我在这里犯了什么错误(如果有的话)?
有人可能会提出为什么FB调试/ lint工具说og:尽管og:type设置为og:bar,但是类型是"网站"?
https://developers.facebook.com/tools/debug/og/object?q=www.shamrockirishbar.com%2Fpubquiz
因此,它没有验证与"bar"类型相关的og:location和类似物.
我们有一些代码使用Facebook Open Graph API在我们的主页上显示一些帖子.它最初是由一个以前的开发人员开发的,我在ASP.NET MVC中为我们的主页重写了它(之前它是PHP,我认为它是在iframe中加载的).那时,我使用了留给我的应用程序ID和秘密.这已经好几年了.今天下午,我们开始在我们的网站上收到错误:"由于我们对Facebook平台所做的更改,暂时禁用非活动帐户对此数据的访问".
没有汗水.我想我只需要更新我们的ID和秘密.不幸的是,似乎没有人记住控制该应用ID的用户ID.没有汗水.我会做自己的.不幸的是,我用来访问帖子的任何ID和秘密 - 甚至是我自己在与工作无关的页面上的帖子 - 都会返回相同的访问错误.我可以获得名称或封面或其他一些字段,但是一旦我请求任何帖子,我就会收到错误消息.
这是我正在尝试的一个例子:
https://graph.facebook.com/MyCompanyName?fields=cover,name,likes,link,posts.limit(5){created_time,message,link,type,full_picture,picture,source,icon}&access_token=bunchofnumbers|bunchofnumbersandletters
我知道https://developers.facebook.com/status/issues/205942813488872/上的状态帖子,但我认为我一定做错了,因为我甚至无法创建新的appID来获取帖子.
为什么Facebook Graph API说我的帐户不活跃?
谢谢.
opengraph ×10
facebook ×9
android ×1
html ×1
html5 ×1
javascript ×1
meta-tags ×1
validation ×1
webkit ×1
whatsapp ×1