Opengraph/object data callback
对象数据回调(Object Data Callback)
本文档介绍了对象数据回调接口(Object Data Callback API)的开发规范,和通过此接口完成对象数据回调采集给微博平台,并最终接入对象库。需要特别指出的是,这个接口是需要你(开发者)来开发并提供给微博平台的。
对象数据回调是兴趣图谱(Open Graph)的一部分。要了解更多有关兴趣图谱的内容,请阅读 兴趣图谱(Open Graph)。对象数据回调也是接入对象库的方法之一,对象还可以采用在你的页面中部署微博元标记(Weibo Meta Tags)的方法来创建接入,具体请阅读 微博元标记(Weibo Meta Tags)。
链接匹配规则(URL Rule)
采集对象数据时,为了识别、区分每一个开发者的网页,你需要提供一个能区分链接(URL)的规则。这个规则是一个简单的通配或正则表达式。匹配上的URL在进入兴趣图谱的过程中,会调用你的对象数据回调接口(Object Data Callback API)。
示例:
我们需要采集新浪音乐播放页的音乐对象,则这个网页为类似于这样的URL地址:
http://music.sina.com.cn/sample/256819
则链接匹配规则(URL Rule)就应该为:
music.sina.com.cn/sample/
对象数据回调接口(Object Data Callback API)
当你的网页URL进入到微博时,比如被转为微博短链、URL被赞。这时为了采集到你的网页中所包含的对象数据,我们需要调用你的对象数据回调接口(Object Data Callback API)。你需要开发这个接口,并部署到服务器上,并将接口地址提供给微博平台。
该接口参数为网页链接(URL),也就是通过链接匹配规则(URL Rule)筛选出来的URL,接口返回对应网页上的结构化的对象数据,为JSON数据格式。 但是当我们请求的URL,你并不想将其接入对象库,你可以返回一个规范的错误数据,这时我们将不采集这个网页URL的对象数据。
对象数据回调接口(Object Data Callback API)规范
接口请求方式:
GET
接口传递参数:
url 必填 符合链接匹配规则(URL Rule)的URL
接口返回值规范,JSON格式:
成功返回 { 对象数据(JSON) } 失败返回 { "errcode": "-1", "msg": "your msg here" }
对象数据格式,需要是一个标准的JSON数据格式。其属性字段有常用、通用属性,而某些特殊对象类型也有其特有、独有的属性字段。比如:视频(video)对象,就有stream这样的特殊属性字段。
对象(Object)都有各自的类型,比如一个页面描述的是一本书,则其对象类型就应该为book。其中,webpage是最基本的对象类型,如果你搞不清楚自己的类型,都可以选此类型。
想要了解更多有关于结构化的对象数据,请阅读 对象(Object)规范。
示例:
我们继续完成上面的例子,采集新浪音乐播放页的音乐对象。
提供的链接匹配规则(URL Rule):
music.sina.com.cn/sample/
提供的对象数据回调接口(Object Data Callback API):
http://music.sina.com.cn/api/get_data?url=
调用实例:
http://music.sina.com.cn/api/get_data?url=http://music.sina.com.cn/sample/256819
你的返回数据:
{ "display_name": "鸽子", "image": { "url": "http://music.sina.com.cn/7272.jpg", "width": 300, "height": 300 }, "author": { "display_name": "宋冬野", "url": "http://music.weibo.com/t/s/1613258127.html", "object_type": "person" }, "stream": { "url": "http://music.weibo.com/t/i/100050599.mp3", "duration": "232" }, "summary": "2012年由个人发行发行", "url": "http://music.weibo.com/t/i/100050599.html", "links": { "url": "http://music.sina.cn/h5/100050599" }, "tags": [ { "display_name": "流行音乐" } ], "create_at": "2012-10-18", "object_type": "audio" }