通过实施OpenGraph的服务(如Facebook)共享时,我可以在该og:description字段中包含HTML 吗?
我想在我的网站上使用喜欢按钮来点击我的Facebook个人资料(而不是我的网页),这样当用户点击它时他们会订阅我的Facebook帖子.
我使用https://developers.facebook.com/docs/reference/plugins/like/上的工具创建了Like按钮
在该页面的下方有一个FAQ条目:
我可以将Like按钮链接到我的Facebook页面吗?
是.只需在按钮的href参数中指定Facebook页面的URL即可.
所以,我编辑了href参数指向我的Facebook页面.例如:
https://www.facebook.com/myfacebookid
当用户单击"赞"按钮时,它具有所需的效果.用户最终喜欢我的Facebook页面.这可以通过用户访问我的Facebook个人资料并检查Like按钮已更改为Liked来轻松验证.
但.当用户单击"赞"按钮时,条目将显示在具有通用Facebook描述的"新闻源"中.即:
Facebook是一种社交工具,可以将人们与朋友以及在他们周围工作,学习和生活的其他人联系起来.人们使用Facebook与朋友保持联系,上传无限数量的照片,发布链接和视频,以及了解他们遇到的人的更多信息.
我不希望出现关于Facebook的通用帖子.我希望描述与我的Facebook帐户和/或网站相关.
通常,我可以使用Opengraph og:description标签修改此行为,但由于href中的页面是Facebook页面而不是我自己的页面,因此我无法控制Opengraph标记.
在我为帐户启用时间表之前,我很确定这项工作正常,所以这可能是时间线错误?
那么,我如何添加一个Like按钮,a)喜欢我的Facebook个人资料而不是我自己的网页,b)发布我的Facebook个人资料的描述,而不是给出一个通用的Facbook描述?
facebook facebook-like opengraph facebook-graph-api facebook-timeline
我想将故事发布到用户时间线,即使他们没有登录Facebook.实际上我在数据库中存储了用户访问令牌,如果用户使用电子邮件登录,我将为她检索访问令牌.它在php中运行良好(例如,在setAccessToken(token_from_database)之后获取好友列表,但是当我发布故事时,它总是发布到当前fb登录帐户的时间轴.
我认为问题是由fb.init引起的:
window.fbAsyncInit = function() {
FB.init({
appId : 'XXX', // App ID
status : true, // check login status
cookie : true // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
Run Code Online (Sandbox Code Playgroud)
然后:
FB.api('/me/...
Run Code Online (Sandbox Code Playgroud)
将登录帐户设为"我",而不是我通过setAcccessToken在php中设置的帐号.我如何发布到该帐户(使用token_from_database指定)的时间表?任何的想法?
facebook opengraph facebook-javascript-sdk facebook-access-token
我只是用一个HTML页面构建一个图像组合,其中所有图片都是动态加载的.到目前为止一切都很好,除了facebook META OG:IMAGE.
由于页面只加载一次,我可以分配一次OG:IMAGE URL ...但我真的希望每张图片都有自己的OG:IMAGE,因为这是一个相册.
通过单击--li class ="open-pic" - 标记来加载图片.每次我点击--li class ="open-pic" - 标签时,我想更改OG:IMAGE值.
可能吗?我找到了这样的东西:
$('meta[name=og\\:image]').attr('content', newImageUrl);
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何将其链接到li.open-pic onclick事件.谢谢!
G.
谷歌绝对使用这些元标记.我在这里测试了一个页面,当添加时,该工具获取了数据.....所以og(Open Graph)标签对于Google搜索非常重要.
因此,我们需要彻底了解它们.但是,访问ogp.me并加载他们的规范页面会产生一个空白页面(我想知道那里会发生什么)?
他们的单一信息网页告诉我们:
The following properties are optional for any object and are generally recommended:
og:locale - The locale these tags are marked up in.
Of the format language_TERRITORY. Default is en_US.
og:locale:alternate - An array of other locales this page is available in.
Run Code Online (Sandbox Code Playgroud)
他们举了一个例子:
<meta property="og:locale" content="en_GB" />
<meta property="og:locale:alternate" content="fr_FR" />
<meta property="og:locale:alternate" content="es_ES" />
Run Code Online (Sandbox Code Playgroud)
网络上的理论是"区域设置"确定文档适用的区域(可用),"替代"提供其他文档适用区域.
然而,对于大量的网站来说,这似乎是一场等待中的灾难.关于Bing SEO的一个小组声称,对于'locale',除en_US之外的任何内容都会杀死您的doc分发(全局),然后是法语,西班牙语,德语,日语等.我的网站已启用翻译,其内容真正适用于全球观众.我是否要列出整个语言数组......并且这样做会引发"垃圾邮件区域"的风险指控?
我们没有深入解释这些标签,但它们似乎太重要了,无法猜测.有没有人了解基础知识,以便我们能够正确编码我们的网站?
我已经找到了数以千计的解决方案,可以在Facebook墙上嵌入一个Flash播放器,其中大部分已经过时了,而且在FB最近做出的主要UI更改之后几乎没有发布任何内容.
话虽这么说,我发现的最简单和(理论上)仍然有效的方法是通过发布指向HTML的链接,该链接显示FB将读取和解释的Open Graph标记,如下所示:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>My title!</title>
<meta property="og:title" content="My title!">
<meta property="og:type" content="video.movie">
<meta property="og:url" content="http://mysite.com/url/">
<meta property="og:description" content="content description">
<meta property="og:image" content="http://mysite.com/URL_THUMBNAIL.jpeg">
<meta property="og:site_name" content="mysite.com">
<meta property="og:video" content="http://mysite.com/flash.swf?flashVar=0101">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="300">
<meta property="og:video:height" content="200">
Run Code Online (Sandbox Code Playgroud)
重要的是要注意flashVar对于我正在使用的那种应用程序是必需的,我不希望这是问题,因为当我使用Facebook的对象调试器(developers.facebook)时没有指出这一点. .COM /工具/调试/).
此外,最有趣的问题是,当我使用仍然使用旧Facebook界面的帐户发布链接(没有图表搜索)时,此解决方案实际上有效 - 将出现一个小"播放"按钮[如下面的链接所示]缩略图,当我点击它时,SWF开始在我的Facebook墙上播放.
http://das.ufsc.br/~alexandrec/SSoldFB.png
但是,当我尝试在我的FB帐户(已经有图搜索和所有其他UI更改)上发布相同的链接时,此播放按钮将不会显示[如下所示],如果我尝试单击缩略图,将打开另一个窗口,其中指定了链接og:url
http://das.ufsc.br/~alexandrec/SSnewFB.png
我想知道这是否是我的网站放在某种白名单上的问题,但我没有找到任何最新的文档,提到这种实际的列表 - 并且我的链接适用于旧的UI我相信我已经在那个名单上了.
还有另一种方法可以通过Graph API在墙上发布SWF文件,发出一个带有源,消息等对象的POST请求,但我发现这种方式不那么有趣,因为我无法指定宽度和嵌入式播放器的高度,这对我的应用来说非常重要.
谁知道为什么会这样?Facebook是否已经决定不再允许用户发布SWF,或者这只是一个(希望是临时的)Facebook漏洞?有没有其他方法可以使这项工作(考虑到我定义嵌入式播放器的高度和宽度的必要性)?
我有一个网站,其中有一个简单的500x500图像 <meta property="og:image" content="image.jpg" />
Facebook有时会裁剪并使用图像的顶部,中间或在某些情况下使用底部来获得它所需的宽高比.有什么办法可以控制吗?或者更好的是,让它像其他社交网站一样拍摄整个方形图像吗?
In my findings if your image is not 600x315 1200x630 or other 40:21 ratio facebook has a three step algorithm for determining what to crop as outlined below.
发现:
First Priortiy:人脸检测.检测面的中心点.如果多个面确定最接近的面并将裁剪基于该面.
第二优先级:某种对比度检测:细节>颜色>对比度.因此,如果您在图像顶部有一张脸的图片,并且图像的其余部分已经模糊,因为图片是以极低的光圈拍摄的.然后,如果你在图像的某个部分有很多颜色,那么它会偏爱它,然后如果有一个非常暗的图像在右下角有一个明亮的白色水印,那么它会更喜欢它.
第三优先级:这是一个默认值,如果以上两个不起作用,则默认为中心裁剪.
我有一个静态网站,一个托管在CDN上的SPA - 基本上是一个单一的index.html,其内容区域根据网址中的哈希值进行更新.我需要为FB共享者找到一种方法来显示SPA中当前加载的主要内容的标题和描述
用简单的话说,Facebook共享可以抓取页面来查找og元标记并缓存它们.当我们尝试共享网址/页面时,会显示此信息.
<meta property="og:url" content="http://www.siteurl.com" />
<meta property="og:title" content="My Site" />
<meta property="og:image" content="Site-img.jpg" />
<meta property="og:description" content="Description" />
Run Code Online (Sandbox Code Playgroud)
我尝试使用javascript设置元标记,但最终在抓取时实现,Javascript未执行,因此使用javascript修改元标记是没有用的.另一个解决方案是在页面加载之前从后端设置og标记,但是在CDN上托管,没有服务器端支持来做到这一点.
关于如何解决这个问题的想法?
javascript facebook opengraph facebook-graph-api single-page-application
为article:published_timeor 生成元标记时og:updated_time,应该以什么格式生成时间.Facebook的一些文档说它应该是在Unix时代,其他文档建议应该在ISO 8601中.
<meta property="og:updated_time" content="1414056907" /> 要么
<meta property="og:updated_time" content="2013-01-22T09:10:08+0100" />
感谢您关注此事.
桑德
在过去的几个月里,我一直面临着这个问题.我一直在运行一个wordpress网站,我已经安装了Yoast Seo插件.我也在该插件中启用了facebook open graph meta标签.现在,每当我尝试直接在我的Facebook粉丝页面上分享任何帖子网址时,首次尝试时,facebook会删除帖子的描述和标题,但不会删除"og:image".我要刷新我的页面,当我进行第二次尝试时,它会废弃图像或个人,我要去facebook调试工具 https://developers.facebook.com/tools/debug/每次在我的粉丝页面上分享之前调试我的帖子网址.我试图手动放置facebook opengraph metatags以及从其他网站复制.为此,该问题不会发生,但我仍然面临同样的问题.我想在此提及我使用Cloudfare DNS服务器.但我已将我的DNS服务器直接更改为我的主要网络服务器DNS服务器,但问题仍然存在.
我的一位朋友,在他的网站上遇到同样的问题.看起来我们遗漏了什么,或者我们必须添加任何类型的A或CNAME记录?请帮我解决这个问题.
谢谢