网站调用新浪微博内容(这两天需要调用两大微博的api,下面记录下过程)
优采云 发布时间: 2021-11-19 16:04网站调用新浪微博内容(这两天需要调用两大微博的api,下面记录下过程)
这两天需要调用两条微博的API。过程记录如下。
先从新浪说起。我去看了新浪微博()的api文档,发现已经更新到2版本了。2版本使用的是oauth2授权机制,访问每个api资源都需要用户授权。这是为了我的需要。有点出入(我只需要调用新浪的一些数据,比如热点榜),不需要用户登录授权。所以我只好另寻他法,下面是
方法①
:/2/statuses/user_timeline.json?source=app_key&count=20&uid=指定的用户uid
可以看出,这实际上是模拟了用户登录的使用,也是版本2。
/2/statuses/user_timeline.json
它来自官方api接口。当然,也可以换成其他的。相应地更改参数。可以直接访问编辑好的url地址,可以看到json格式返回的数据。
另外googlecode上有一个基于PHP的libweibo类,同样需要指定用户名和密码。方法类似。
(注:用户名和密码要写在code里,最好申请小号使用)
方法②
上面的方法有点痛苦,于是又找了一个方法,基于版本1,可以直接访问api资源,无需授权。嘿,这就是我想要的!
例子:
$.ajax({ type: "get", dataType: "jsonp", jsonpCallback: "jsonpCallback", data: { user_id: 2086292841, source: 2681334524, date: Date() }, url: "http://api.t.sina.com.cn/statuses/user_timeline/timyang.json", success: function(data) { alert(data); }, error: function () { alert("获取数据失败!"); } });
可以看出与版本2的区别是去掉了http协议和/2,返回的内容是一样的。这样就可以直接使用了,不需要登录授权的步骤。
后记:
版本 1 的接口比版本 2 少。
发现腾讯微博没有提供新浪微博版本1的api,都是需要授权的。. . 我暂时用了采集页面,傻傻的解析了数据。