语义化网络:Facebook Open Graph和Twitter Card

49 sec read

Facebook Open Graph

Open Graph是一套由Facebook定义的mata协议,主要放在HTML的meta标签里,目前也可以在iOS和Android系统中使用。Open Graph想实现的目的也非常的简单,主要是期望使用人将互联网的各种事物联系起来。类似IMDB接入了Open Graph,你在IMDB上给某个电影打了分,只要当时你是登录在Facebook的状态,那么这个动作会自动会被捕获,并且将信息同步到你朋友的Timeline中,如果博客使用Facebook Open Grap,如果你对博文点了赞,同样会出现在你朋友的Timeline中。

由于网页有千千万万的类型,要想出现在Timeline中的信息有较好的格式呈现,最好的方式是提前定义好一套协议。不同类型的网站按照不同的协议进行接入,呈现的时候再根据不同协议进行呈现。

Facebook Open Graph核心包括2项内容:

  • 操作行为:你在网页上你做了什么事情?
  • 操作对象:你操作的对象的属性(语义)是什么?

Facebook Open Graph支持的操作行为

操作类型氛围唱过操作类型和自定义操作类型,请注意,自定义操作类型需要应用审核和批准,然后才可供用户在发布开放图谱动态时使用。这里不做介绍。

  • 一般信息:赞、关注、保存
  • 书籍应用:评分、阅读、引用、想要阅读、
  • 健身应用:骑行、散步、跑步
  • 游戏应用:成就、庆祝、在玩
  • 新闻应用:发布
  • 餐厅应用:吃过、想去吃
  • 视频(电影及电视)应用:观看、评分、想要观看
  • 音乐:嫌疑弃用,不再可用。

Facebook Open Graph支持的操作对象

开放图谱对象包含属性。属性是指以不同方式描述对象的元素,这些元素由开放图谱标签表示,或在使用对象 API 创建的对象中赋予属性。

标准的对象属性

每个对象类型均继承以下标准对象属性。

名称 说明
og:url 对象的网址,即权威链接。通常是放置属性标签的页面的网址。不应包含任何会话变量、用户识别参数或计数器。请使用此标签的权威链接,否则赞和分享会分散到网址的所有变体中。
og:title 对象的标题、标题行或名称。
og:description 对象的简短说明或摘要。
og:image 对象的图片网址。图片应至少为 600×315 像素,但最好是 1200×630 像素或更大的尺寸(大小不超过 5MB)。将长宽比保持在 1.91:1 左右,以避免裁剪。游戏图标应为正方形,且至少为 600×600 像素。如果有多个可用的分辨率,可以添加多个 og:image 标签。如果在发布图片后更新了图片,请使用新网址,因为系统会根据之前的网址缓存图片,可能不会更新图片。
fb:app_id 网站应用的 Facebook 应用编号。
og:type 请参阅应用面板的操作类型版块,了解对象的类型。选择对象并在高级下找到其 og:type。在动态中发布对象后,就无法更改对象类型。
og:locale 对象属性使用的语言设置。默认为 en_US。
og:video 对象的视频网址。如果指定多个 og:video,则每个视频都需要提供 og:video:type。 请参阅视频类型参考文档,了解如何内嵌播放视频。视频需要 og:image 标签,才能在动态消息中显示。
og:determiner 在动态中,显示在对象前面的词语,例如“an Omelette”(一份蛋饼)。此值应为属于 Enum {a、an、the、””、auto} 的字符串。如果选择“auto”,Facebook 就会自动选择“a”或“an”。默认为空白。
og:updated_time 对象上次更新的时间。
og:see_also 用于提供额外的链接,显示与对象相关的内容。
og:rich_attachment 值为“true”时,发布的动态会呈现丰富的元数据,例如标题、说明、作者、网站名称和预览图片。
og:ttl 再次抓取此页面之前经过的秒数。此属性可用于限制 Facebook 内容爬虫的抓取频率。允许的最小值为 345600 秒(4 天);如果设置更低的值,会使用最小值。如果不包括此标签,会根据网页服务器返回的“Expires”标头计算 ttl,否则默认为 7 天。
og:restrictions:age [int]+ 形式的年龄值,用于表示特定的最小年龄。
og:restrictions:country 可以是 country:allowed 或 country:disallowed,随同使用 ISO 3166 标准指定的两字符国家/地区代码。
og:restrictions:content 当前仅支持对酒类产品进行内容限制。
fb:admins 应用、应用用户或主页图谱 API 对象的编号(或可接受多个编号的属性的逗号分隔列表)。
fb:profile_id 可关注的用户的 Facebook 编号。
fb:pages 与一个网址关联的一个或多个 Facebook 主页编号,用于启用链接编辑和即阅文发布功能。

标记示例

例如,以下介绍了如何使用 og:type=”article” 和多个附加属性标记文章、动态消息或博文:

这些属性包括我们在用户分享文章时,具体想要呈现的、与文章有关的描述性元数据。

更多参考:https://developers.facebook.com/docs/sharing/opengraph

Twitter Card

和Facebook类似,如果你想用户分享到Twitter的内容有自己的独特呈现方式,可以使用Twitter Card。目前Twitter Card支持的类型主要有:

Summary Card(Title, description, and thumbnail.)

Summary Card 可以的代码用在很多方面,如博客,新闻内容,产品还有比如餐厅的打折信息,这样读者在不用点击链接之前就可以浏览信息,如下图所示:

Summary Card with Large Image

Summary large image 其实上面和Summary Card差不多就是多了图片,图片是全宽的,加入图片的元素用户容易增加网站的点击率。

App Card

通过twitter,只要提到twitter的用户名或者是链接到app的下载的链接,那么到时候会展示出APP的名字,描述和图标,APP的评分,也会自动的出现一个短小的关于app的描述,这个链接是直接号召用户下载app的功能。

Player Card

如果你想在twitter上面直接展示你的视频,音乐或者多媒体形式的音频,player card 允许你在不离开页面的时候直接在上面直接观看

更多参考:https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards

Pinterest Rich pin

与Twitter Card类似,主要支持三种类型:Article Pins、Product Pins、Recipe Pins。标记方式支持Open Graph、Schema.org、oEmbed、microformats-hRecipe。

更多参考:https://developers.pinterest.com/docs/rich-pins/overview/

微信分享

微信分享的机制其实和上述几个差不多,具体

获取“分享到朋友圈”按钮点击状态及自定义分享内容接口:

获取“分享给朋友”按钮点击状态及自定义分享内容接口:

更多参考:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

《怕蛇的人怎么学Python》:开篇

先前在自己的博客上,零散的写了一些Python的学习笔记,涉及到的内容比较凌乱,完全没有逻辑。反思自己对所学的
3 sec read

Hive SQL中的datediff、current_dat…

Hive SQL中的datediff函数返回的是2个日期的天数。在使用过程中发现了一个比较有趣的坑: SELE
2 min read

使用Python进行相关性分析

在数据分析时,经常会针对两个变量进行相关性分析。在Python中主要用到的方法是pandas中的corr()方
42 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注