Opengraph/object

跳转到: 导航, 搜索

对象(Object)

对象(Object)是你的应用或网站中的一个“实体”,比如一本名为《西游记》的书。在你的应用中,对象一般是人们兴趣行为的目标。绝大多数的对象其实就是一个个网页、或这些网页中的内容,对象一般属于公共信息。


微博采用结构化的数据来描述这些对象,并将其存储在微博的对象库中,并由一个特定的URL来唯一定义每个对象。微博采集到这些结构化的对象数据,以产生兴趣内容来显示在人们的微博消息流中。


对象是一个JSON编码的数据结构,其包含对象类型(Object Type)和对象属性数据(Object Data)。


对象类型(Object Type)

标识对象的类型,比如:book(图书)、video(视频)。每个对象都有且仅有一个对象类型。


你可以从如下的标准对象类型中选择适合你应用的:


对象类型(Object Types) 说明描述
webpage 网页,是最基本的对象类型,如果你搞不清楚自己的类型,都可以选此类型。
article 文章,通常是一篇有作者的文字作品。
audio 音频,可播放的音乐、歌曲等音频作品。
person 人物,名人、公众人物等,普通个人由于隐私问题不建议对象化。
product 商品,人们交易的产品、货物等。
recruit 招聘,即招聘、职位等信息。
video 视频,可播放的影视作品。
book 图书,出版物、印刷品等。
shop 店铺,包括网络上的电子商务店铺。
service 服务商、企业等,比如出版社、报社、媒体机构等。
game 游戏,单机、联网、手游、页游、社交游戏。
app 应用,适用于各种平台的应用程序。


对象属性数据(Object Data)

对象属性是描述对象各个方面的数据元素。每个对象的属性都继承于一个通用类型的对象(webpage),同时某些特殊类型的对象也拥有自己特有的对象属性。


你还可以为对象添加新的自定义属性,自定义属性将放置在对象的"custom_data"属性下。


下面是一些常用的标准对象属性,可以帮助你定义你的结构化的对象数据:


属性(Object Properties) 值的类型 说明描述
display_name string 对象的显示标题或名称,一个对象必须包含此属性。
object_type string 对象类型,可以从上面的对象类型列表里选择,一个对象必须包含此属性。
url string 对象对应的网页URL,一个对象必须包含此属性,该URL地址必须为一个纯净的URL,不带有无关的参数,其将作为对象数据的唯一标识依据,一个URL只能对应一个独立的对象,保持该URL的干净将有利于数据的统一和有效。
image media link 对象的显示图片,我们建议图片尺寸至少不小于200 × 200 pixels,有关媒体属性类型,请阅读 media link
author object 对象的作者、所有者,其值为一个person类型的子对象。
summary string 对象的文字描述,字数建议控制在300字以内。
category string 对象的类目信息,一般商品的对象类型这个属性很有用。
create_at date time 对象的创建时间,格式强烈建议用国际化格式:Wed Jan 06 11: 26: 01+0800 2010,或者用简易格式:2012-10-18。
tags object array 对象的标签属性,对象数据的通用属性,为一个object array的对象数组,有关标签属性类型,请阅读 tags
links object 对象的交互属性,对象数据的通用属性,为一个子对象,有关交互属性类型,请阅读 links
custom_data object 对象的自定义属性数据,其值为一个子对象,子对象内你可以自定义自己的属性。


除了通用的标准属性,某些特殊的对象类型(比如视频 video)有其特有的属性,你可以参考下面的列表:


audio(音频)


属性(Object Properties) 值的类型 说明描述
embed_code string 音频嵌入播放器的路径代码,用于PC设备上在消息流里直接展开播放,应为一个swf的播放器URL地址。
stream media link 音频流的播放源,应为一个mp3流地址,用于PC、移动设备上的直接播放,为一个media link类型的属性,为了更好的用户体验,我们建议是必填。但如果接入方由于某种原因,不想在微博客户端内嵌直接播放,则可以不填写该属性。有关媒体属性类型,请阅读 media link


recruit(招聘)


属性(Object Properties) 值的类型 说明描述
job_title string 招聘的职位名称,如技术主管、设计师等。
base string 招聘信息的工作地点,如北京、上海。
company string 招聘的公司名称,如XXX有限公司 。
salary_from string 招聘的薪资范围(最低),单位为人民币。
salary_to string 招聘的薪资范围(最高),单位为人民币。。


video(视频)


属性(Object Properties) 值的类型 说明描述
embed_code string 视频嵌入播放器的路径代码,用于PC设备上在消息流里直接展开播放,应为一个swf的播放器URL地址,我们建议是必填。
stream media link 视频流的播放源,优先建议为m3u8格式,或者为mp4格式,用于PC、移动设备上的直接播放,为一个media link类型的属性,为了更好的用户体验,我们建议是必填。但如果接入方由于某种原因,不想在微博客户端内嵌直接播放,则可以不填写该属性。有关媒体属性类型,请阅读 media link


book(图书)


属性(Object Properties) 值的类型 说明描述
publisher object 书的出版社,其值为一个service类型的子对象。
isbn string 书的10或13位数字的ISBN书号。


在标准的对象属性中,有一些属性是包含子属性的,有关这些特殊属性类型的子属性你可以参考下面的列表:


媒体属性类型 media link(object)


属性(Object Properties) 值的类型 说明描述
duration int 媒体的时长,单位秒,如果对象为为流媒体,则有此属性。
url string 媒体的资源地址,如果对象为图片则该属性即为图片地址,如果对象是流媒体则为媒体流地址,一个media link类型的属性里必须包含此子属性。当对象是视频流媒体时,此地址应为的视频m3u8、或mp4地址,当第三方提供的是m3u8格式的视频时,可获得在微博移动客户端直接播放的优良体验,因此有m3u8格式的建议优先填写m3u8格式。当提供的是mp4格式的视频流,则只有当视频小于10分钟时,才可以获得客户端直接播放的优良体验,除此之外移动客户端将跳转到H5播放页(详见links属性)。当对象是音乐流媒体时,此地址应为音频的mp3地址。
hd_url string 媒体的高清资源地址,比如高清图片地址,或高清视频流地址,其他规则同url属性。
width int 媒体的宽度,如果对象为图片则就是图片宽度。
height int 媒体的高度,如果对象为图片则就是图片高度。


标签属性类型 tags(object array)


属性(Object Properties) 值的类型 说明描述
display_name string 标签名称,一个标签类型的属性里必须包含此子属性。


交互属性类型 links(object)

属性(Object Properties) 值的类型 说明描述
url string 点击对象的交互URL,例如你的应用运行在移动端,则这个URL可以是一个H5的地址;又或者由于对象内的url属性要求是纯净的,如果你有统计的需求,可以采用这个url子属性,其可以带各种统计参数,而不会影响对象的采集。


示例:


{
    "id": "2003022:3c979425f3083a2d5aee5e8af2c810fc",
    "author": {
        "display_name": "李教授",
        "url": "http://sina.com/user/rtgcx",
        "object_type": "person"
    },
    "display_name": "东西方的差异",
    "object_type": "article",
    "image": {
        "url": "http://sina.com/zt/89356.jpg",
        "width": "300",
        "height": "300"
    },
    "summary": "经常会听到朋友手机的铃声传出了蝈蝈、蛐蛐或黄蛉的叫声,一下子将人思绪引入乡村旷野...",
    "url": "http://sina.com/a/89356",
    "links": {
        "url": "http://sina.cn/h5/89356"
    },
    "tags": [
        {
            "display_name": "文化"
        }
    ],
    "create_at": "Wed Jan 06 11: 26: 01+0800 2010",
    "updated": "Wed Jan 06 11: 26: 01+0800 2010"
}


接入对象库(Connect Object)

接入对象库,提供结构化对象数据的采集,有2种接入方法:

  • 微博元标记(Weibo Meta Tags)
  • 对象数据回调(Object Data Callback)


微博元标记(Weibo Meta Tags)

要使你的网页成为一个对象(Object),你需要在网页源代码的<head>里打上meta标签,标签里包含的结构化数据对象的属性值,即微博元标记(Weibo Meta Tags)。


微博元标记,支持和兼容FaceBook的OpenGraph协议中的常规标签,并基于本地化对OpenGraph不适用的对象类型或属性进行了有限扩展标记。可以和OpenGraph一起使用。


想要了解更多有关于微博元标记(Weibo Meta Tags)的内容,可以参见 微博元标记(Weibo Meta Tags)


对象数据回调(Object Data Callback)

采用回调开发者的对象数据接口,实现采集接入方的结构化对象数据的方式。


开发者需提供:


链接匹配规则(URL Rule)

是一个简单的通配或正则表达式,用于识别和匹配各个开发者接入对象库的网页链接。


对象数据回调接口(Object Data Callback API)

开发者需提供的一个接口,参数为接入对象库的网页链接,也就是通过链接匹配规则筛选出来的URL,接口返回对应网页上的结构化的对象数据,为JSON数据格式。


想要了解更多有关于对象数据回调(Object Data Callback)的内容,可以参见 对象数据回调(Object Data Callback)



文档更新时间: 2013-11-15