绑定新浪微博API 实现验证 登录 返回接口获取信息

最近公司要求实现一个绑定新浪微博  实现同步微博登录效果。

花了我一段时间 最算实现了效果。下面我讲讲我的实现过程,希望给予想做这方面开发的人一点帮助!

首先,我们要进去新浪微博开放平台http://open.weibo.com/创建一个我们的网站

在创建网站之前,如果你没身份验证,首先是要身份验证的(大概几个小时内可以审批下来)

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

中间会返回一个AppKey以及一个AppSecret ;

审批通过之后  才正式进行我们开发过程  

我们先看看整个流程http://www.cnblogs.com/highend/archive/2012/07/06/oautn2_authorization_code.html

管理中心>接口管理 里面有授权后的所有接口可以调用

授权机制里面。注意填写它的回调地址 如果测试用户可以填写http://127.0.0.1/Weibo.aspx(Weibo.aspx 为我们回调的页面)

public partial class wbAPI : System.Web.UI.Page
    {
        public const string AppKey = "207788581"; //请自行设置AppKey
        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(AppKey, 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(AppKey, 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 可以网上下载


微博入口:

<a href="#" οnclick="openwin()" class="wb_xl">新浪微博登陆</a>


 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就为appkey  如果微博入口有多个,处理出来不太方便

可以在回调地址,也就是redirect_uri=

http://www.miutrip.com/Weibo.aspx?sinatype=Login
后面带一个参数   来区分那个入口传过来的值。

在weibo.aspx 获取就可以 

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


如果还有什么不了解,可以加我QQ315676647@qq.com   写上你的情况



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值