网站调用新浪微博内容(开发者注册新浪微博开放平台完成开发者认证按照流程走,写回调方法)
优采云 发布时间: 2022-03-08 17:01网站调用新浪微博内容(开发者注册新浪微博开放平台完成开发者认证按照流程走,写回调方法)
比如QQ互联,这里详细介绍如何实现微博登录。
成为开发者
首先,你还是要注册一个微博账号,使用微博账号登录开放平台。
打开微博开放平台官网,点击登录完成开发者注册
新浪微博开放平台
完成开发者认证
按照流程,开发者类型一般选择个人。
开发者认证
创建网站应用
一般来说,我们创建的是网站应用程序,其他应用程序类似,所以这里仅以网站应用程序为例。
完成认证后,选择首页微链接菜单下的网站访问(或首页下的网站访问WEB),并填写所需信息。
创建应用
需要准备的材料有:
1、域名注册完成
2、已开发网站
3、服务器
4、应用图标
注意:
填写基本信息后,还需要填写高级信息。高级信息中的授权回调页面和取消授权回调页面非常重要,非常重要,非常重要(重要的事情说三遍)。
授权回调页面是授权完成后回调的页面,该页面必须在申请地址域名下。同理,取消授权回调页面是取消授权后回调的页面(一般是跳转回登录页面)。
有节制
审稿时间一般为1个工作日,所以为了节省时间,信息一定要准确,避免多次修改。
审计
页面开发
开发模式有两种,一种是使用sdk,一种是自定义开发。SDK开发门槛低,无需了解具体授权逻辑。只需粘贴代码。下面简单介绍一下登录按钮(不推荐这种方式,推荐定制开发)。
打开链接
配置登录按钮样式
配置登录按钮样式
选择一个应用程序
复制代码
1、将 XML 命名空间添加到 HTML 标记
2、在 HEAD 头中引入 WB.JS
3、 在需要部署登录按钮的地方粘贴WBML代码(复制代码)
4、写回调方法
WB2.anyWhere(函数(W){
W.widget.connectButton({
id: "wb_connect_btn",
类型:“3,2”,
打回来 : {
login:function(o){//登录后回调函数
},
logout:function(){//退出后回调函数
}
}
});
定制开发(推荐)
我们是专业的,一定要选择定制开发(可以跳过上面的sdk教程)。
填写完网站应用信息后,开始使用界面,登录功能主要包括以下几个界面:
1、OAuth2.0 授权登录接口
2、获取token和uid接口
3、获取用户信息接口
第 1 步:添加指向登录页面的链接
微博
这里的应用主键是App Key。在开发平台的应用管理中可以看到回调地址是应用高级信息中的授权回调页面,两者必须相同。
第二步:开发授权回调页面
因为回调页面必须在外网,所以开发过程中必须经常部署新的网站(更新部分就足够了),所以这一步之后服务器必须要有权限。
回调页面中有一个很重要的参数,就是地址栏上的code参数。code参数是授权获取token后自动带上的,并且只能使用一次。如果再次使用,则会出现错误。
第三步:根据代码交换token和uid
这时需要在后台以post的形式请求access_token接口,地址为
"+ 应用主键+ "&client_secret="+ 应用秘钥+ "&grant_type=authorization_code&redirect_uri="+ 回调地址+ "&code="+ 获取代码
应用主键和应用密钥都可以在应用管理中找到。因为很重要,所以必须在后台请求(前台请求有跨域和header信息不一致的问题),并且回调地址和代码都是通过前台传递的,下面是后台代码
C#获取微博token
令牌实体类
第四步:获取用户信息(登录)
获取用户信息的前提是提供token和uid,所以我们调用第三步封装的方法privateWBTokenStateGetWeiBoToken(stringcode, stringcallback)。此时请求的地址是""+兑换了token+"&uid="+兑换了uid
此时代码如下
微博登录
微博用户实体类
具体登录逻辑略...
第 5 步:调用前台
这时候后台已经写好了,前台开始打电话。
先判断回调地址的code参数是否为空,然后动态获取回调地址(后面改很麻烦,测试的时候一定要写死),然后调用后台写的登录接口(后台登录界面自动交换token、uid并获取用户信息),下面是具体代码
使用angularjs,应该不难理解
结束语
微博登录的意义在于接入大量微博用户,降低网站注册门槛,实现社交关系的零成本引入和优质内容的快速传播。
ps:
代码只能使用一次,再次使用会报错,需要在后台调用post方法。
授权机制(包括获取uid)
授权机制
获取uid
获取用户信息
js SDK