使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)

优采云 发布时间: 2022-01-17 17:09

  使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)

  近日,公司要求实现绑定新浪微博,以达到同步微博登录的效果。

  我花了一段时间才充分利用它。下面说说我的实现过程,希望能给想做这个开发的人一些帮助!

  首先我们要到新浪微博开放平台创建我们的网站

  在创建网站之前,如果没有认证,需要先认证(几小时内可以审核通过)

  根据条件创建网站,中间注意复制一段代码到发布的项目,然后等待审批(估计点时间)

  中间会返回一个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 是 a*敏*感*词*ey。如果有多个微博条目,不方便处理。

  可以在回调地址中,即redirect_uri=

  http://www.miutrip.com/Weibo.aspx?sinatype=Login

  后跟一个参数,用于区分该条目传递的值。

  您可以在 weibo.aspx 获得它

  string sinatype = Request.QueryString["Login"];

  有什么不明白的可以加我@写下你的情况

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线