网页授权获取用户基本信息
新浪微博支持OAuth2.0授权流程,具体请参考 授权机制
不弹出授权页面的快速授权流程
在粉丝服务平台中,用户跳转到第三方H5页面后,很多时候第三方仅仅想获取到用户的uid信息,并且不希望弹出授权页面从而提高转化率;在这种情况下,第三方可以通过加入snsapi_base应用授权作用域参数来使用不弹出授权页面的快速授权流程:
1. 使用snsapi_base(不弹出授权页面,直接跳转,只能获取用户uid)这个scope来引导需要授权的用户到如下地址
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&scope=snsapi_base
2. 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
3. 换取Access Token
开发者请注意,这里通过code换取的网页授权access_token,与 申请消息接口 中“第三步:成为开发者,获取access_token”中的access_token是不同的;
第三方可通过下述接口来获取网页授权access_token。
但是如果scope=snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了uid,snsapi_base式的网页授权流程即到此为止。本步骤中获取到的网页授权access_token不具备调用其他API接口的能力。
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
(其中client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET可以使用basic方式加入header中)
正确时返回JSON数据包如下:
{ "access_token":"ACCESS_TOKEN", "remind_in":3600, "expires_in":3600, "uid":"UID", "scope":"snsapi_base" }