一个绑定新浪微博实现同步微博登录效果(图)
优采云 发布时间: 2021-03-29 01:02一个绑定新浪微博实现同步微博登录效果(图)
最近,该公司请求实施一个绑定的新浪微博,以实现同步微博登录的效果。
我花了一段时间才终于达到效果。接下来,我将讨论我的实现过程,希望对那些希望进行此开发的人有所帮助!
首先,我们必须进入新浪微博开放平台才能创建我们的网站
在创建网站之前,如果您没有身份验证,则需要先验证您的身份(可以在几个小时内获得批准)
根据条件创建网站,注意将一段代码复制到已发布的项目中,然后等待批准(估计时间)
一个A*敏*感*词*ey和一个AppSecret将在中间返回;
批准后,我们的开发过程将正式进行
首先让我们看一下整个过程
管理中心>接口管理可以调用所有授权接口
内部授权机制。注意填写其回调地址。如果测试用户可以填写/Weibo.aspx(Weibo.aspx是我们的回调页面)
public partial class wbAPI : System.Web.UI.Page
{
public const string A*敏*感*词*ey = "207788581"; //请自行设置A*敏*感*词*ey
public const string AppSecret = "cba11dad8522a7b1f32aefde396be"; //请自行设置AppSecret
public const string CallbackUrl = "http://www.miutrip.com/Weibo.aspx"; //请自行设置回调地址,一般这里不用填应用实际地址,填站内应用地址也是可以的
protected void Page_Load(object sender, EventArgs e)
{
#region 注意事项(绑定新浪微博)
/**
*这段代码放入你的触发时间处。绑定按钮,一般是在别的页面跳过
* 127.0.0.1本机IP 一般用于测试
* 8080 本机端口号
* Weibo.aspx为当前你的页面
* 授权申请成功之后,配置的返回路径应该为 http://www.miutrip.com/Weibo.aspx
* 调用微博信息 要添加NetDimension.Weibo.DLL文件
*/
// href="https://api.weibo.com/oauth2/authorize?client_id=207778561&response_type=code&redirect_uri=http://127.0.0.1:8080/Weibo.aspx"
#endregion
if (!IsPostBack)
{
var sign = Request["code"];
//var sign = "b3eb3bccbf4cd9399236a02a81cde4bf";
var oauth = new NetDimension.Weibo.OAuth(A*敏*感*词*ey, AppSecret, CallbackUrl);
/*
* 正常的流程或Web流程:
* 1. 获取授权地址
* 2. 访问授权地址
* 3. 授权成功后自动跳转至callback指定的网站,并获得code
* 4. 通过code换取access token
*/
if (!string.IsNullOrEmpty(sign))
{
var accessToken = oauth.GetAccessTokenByAuthorizationCode(sign).Token;//注意:callback指定的url必须一致
oauth = new OAuth(A*敏*感*词*ey, AppSecret, accessToken, "");
var sina = new Client(oauth);
var userInfo = sina.API.Dynamic.Users.Show(uid: sina.API.Entity.Account.GetUID());
//userInfo就为我们得到的用户信息
Response.Write(userInfo);
//Server.Transfer("CorpActivate.aspx", true);
}
}
}
要实现此页面,我们需要添加一个DLL:NetDimension.Weibo.dll可以在线下载
微博入口:
新浪微博登陆
function openwin() {
window.open("https://api.weibo.com/oauth2/authorize?client_id=144119704&response_type=code&redirect_uri=http://www.miutrip.com/Weibo.aspx", "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行
}
client_id是应用程序密钥。如果微博上有多个条目,则不方便处理。
可以在回调地址中,该地址为redirect_uri =
http://www.miutrip.com/Weibo.aspx?sinatype=Login
后跟一个参数,以区分从该条目传递的值。
您可以在weibo.aspx上获得它
string sinatype = Request.QueryString [“ Login”];
如果您仍然一无所知,可以加我@写您的情况