通过新浪微博的开放平台去注册一个应用。
之后你会得到一个App Key和一个App Secret。拥有它们,你才可以申请权限。
2、在高级信息中编辑授权回调页,这里与后面代码里的回调地址要一致
3、 微博登录标识的地址如下:
/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
参数
返回值
4、点击你的工程微博登录按钮打开授权页面,如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
跳转地址:红色部分为微博pc端授权地址,移动端授权接口地址:/oauth2/authorize并且在loginWbUri后面增加两个参数 '&response_type=code&display=mobile'
app:
pc:
//同意授权后会重定向/response&code=CODE
示例:/callback.php?code=1f5848d0562f39fbbaf8d35cbc853ea3
5、get获取code值,用CURL方式请求Access Token(这里可以走本地服务器也就是自己的后台接口进行登录)
请求地址:
/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
请求方式:
POST
请求参数:
返回值
{"access_token": "SlAV32hkKG","remind_in": 3600,"expires_in": 3600,"uid":1887188234}
6、使用获得的Access Token和uid调用API
获取用户信息API:
/2/users/show.json
请求参数:
参数uid与screen_name二者必选其一,且只能选其一;
返回示例:
{"id": 1404376560,"screen_name": "zaku","name": "zaku","province": "11","city": "5","location": "北京 朝阳区","description": "人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。","url": "/zaku","profile_image_url": "/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 ","following": false,"allow_all_act_msg": false,"geo_enabled": true,"verified": false,"status": {"created_at": "Tue May 24 18:04:53 +0800 ","id": 11142488790,"text": "我的相机到了。","source": "<a href="" rel="nofollow">新浪微博</a>","favorited": false,"truncated": false,"in_reply_to_status_id": "","in_reply_to_user_id": "","in_reply_to_screen_name": "","geo": null,"mid": "5610221544300749636","annotations": [],"reposts_count": 5,"comments_count": 8},"allow_all_comment": true,"avatar_large": "/1404376560/180/0/1","verified_reason": "","follow_me": false,"online_status": 0,"bi_followers_count": 215}返回值:
如图,此时就可以获取想要的用户信息(用户昵称、头像等),可让用户直接登录访问网站了
其实像微信登陆、QQ登陆的原理都一样,都是:
1、获取用户授权,取得code
2、将code发送到授权服务器获取Access Token
3、通过Access Token调取API接口获取用户信息
微博api地址:/wiki/%E9%A6%96%E9%A1%B5
基于开发过程中的随笔记录,有啥错误的请指正啊 呵呵呵
想要整理更多的碎片知识,扫码关注下面的公众号,让我们在哪里接着唠!