新浪微博授权认证过程

来源:互联网 发布:hello world java代码 编辑:程序博客网 时间:2024/06/06 22:19

一、授权认证

1、请求用户授权Token

URL: https://api.weibo.com/oauth2/authorize
HTTP请求方式:GET/POST
请求参数
必选 类型及范围 说明
client_id true string 申请应用时分配的AppKey。
redirect_uri true string 授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。

返回值字段 字段类型 字段说明
code string 用于调用access_token,接口获取授权后的access token。
state string 如果传递参数,会回传该参数。
示例
//请求
https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
//同意授权后会重定向
http://www.example.com/response&code=CODE

2、获取授权过的Access Token

URL :https://api.weibo.com/oauth2/access_token
HTTP请求方式 :POST
请求参数
必选 类型及范围 说明
client_id true string 申请应用时分配的AppKey。
client_secret true string 申请应用时分配的AppSecret。
grant_type true string 请求的类型,填写authorization_code

grant_type为authorization_code时

必选 类型及范围 说明
code true string 调用authorize获得的code值。
redirect_uri true string 回调地址,需需与注册应用里的回调地址一致。

返回数据

{
“access_token”: “ACCESS_TOKEN”,
“expires_in”: 1234,
“remind_in”:”798114”,
“uid”:”12341234”
}

返回值字段 字段类型 字段说明
access_token string 用于调用access_token,接口获取授权后的access token。
expires_in string access_token的生命周期,单位是秒数。
remind_in string access_token的生命周期(该参数即将废弃,开发者请使用expires_in)。
uid string 当前授权用户的UID。

二、 微博的读取

1、statuses/public_timeline

返回最新的公共微博
URL

https://api.weibo.com/2/statuses/public_timeline.json
支持格式

JSON
HTTP请求方式

GET
是否需要登录


关于登录授权,参见 如何登录授权
访问授权限制

访问级别:普通接口
频次限制:是
关于频次限制,参见 接口访问权限说明

请求参数
必选 类型及范围 说明
source false string 采用OAuth授权方式不需要此参数,其他授权方式为必填参数,数值为应用的AppKey。
access_token false string 采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。
count false int 单页返回的记录条数,默认为50。
page false int 返回结果的页码,默认为1。
base_app false int 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
注意事项


调用样例及调试工具

API测试工具
返回结果
JSON示例
{
“statuses”: [
{
“created_at”: “Tue May 31 17:46:55 +0800 2011”,
“id”: 11488058246,
“text”: “求关注。”,
“source”: “新浪微博“,
“favorited”: false,
“truncated”: false,
“in_reply_to_status_id”: “”,
“in_reply_to_user_id”: “”,
“in_reply_to_screen_name”: “”,
“geo”: null,
“mid”: “5612814510546515491”,
“reposts_count”: 8,
“comments_count”: 9,
“annotations”: [],
“user”: {
“id”: 1404376560,
“screen_name”: “zaku”,
“name”: “zaku”,
“province”: “11”,
“city”: “5”,
“location”: “北京 朝阳区”,
“description”: “人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。”,
“url”: “http://blog.sina.com.cn/zaku“,
“profile_image_url”: “http://tp1.sinaimg.cn/1404376560/50/0/1“,
“domain”: “zaku”,
“gender”: “m”,
“followers_count”: 1204,
“friends_count”: 447,
“statuses_count”: 2908,
“favourites_count”: 0,
“created_at”: “Fri Aug 28 00:00:00 +0800 2009”,
“following”: false,
“allow_all_act_msg”: false,
“remark”: “”,
“geo_enabled”: true,
“verified”: false,
“allow_all_comment”: true,
“avatar_large”: “http://tp1.sinaimg.cn/1404376560/180/0/1“,
“verified_reason”: “”,
“follow_me”: false,
“online_status”: 0,
“bi_followers_count”: 215
}
},
..
],
“previous_cursor”: 0,
“next_cursor”: 11488013766,
“total_number”: 81655
}

关于错误返回值与错误代码,参见 错误代码说明
返回字段说明
返回值字段 字段类型 字段说明
created_at string 微博创建时间
id int64 微博ID
mid int64 微博MID
idstr string 字符串型的微博ID
text string 微博信息内容
source string 微博来源
favorited boolean 是否已收藏,true:是,false:否
truncated boolean 是否被截断,true:是,false:否
in_reply_to_status_id string (暂未支持)回复ID
in_reply_to_user_id string (暂未支持)回复人UID
in_reply_to_screen_name string (暂未支持)回复人昵称
thumbnail_pic string 缩略图片地址,没有时不返回此字段
bmiddle_pic string 中等尺寸图片地址,没有时不返回此字段
original_pic string 原始图片地址,没有时不返回此字段
geo object 地理信息字段 详细
user object 微博作者的用户信息字段 详细
retweeted_status object 被转发的原微博信息字段,当该微博为转发微博时返回 详细
reposts_count int 转发数
comments_count int 评论数
attitudes_count int 表态数
mlevel int 暂未支持
visible object 微博的可见性及指定可见分组信息。该object中type取值,0:普通微博,1:私密微博,3:指定分组微博,4:密友微博;list_id为分组的组号
pic_ids object 微博配图ID。多图时返回多图ID,用来拼接图片url。用返回字段thumbnail_pic的地址配上该返回字段的图片ID,即可得到多个图片url。
ad object array 微博流内的推广微博ID

原创粉丝点击