private void btnLogin_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtPassport.Text)) { MessageBox.Show(this, "请输入微博账号。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (string.IsNullOrEmpty(txtPasswd.Text)) { MessageBox.Show(this, "请输入登录密码。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string passport = txtPassport.Text; string passwd = txtPasswd.Text; mask.Visible = true; //好吧,上一版的SDK在网络环境差的情况下经常会卡着不动,这次的我们来把操作界面线程和操作线程分开吧 //对比下2.0和4.0的写法,你会发现4.0真的很方便 Thread thLogin = new Thread(() => { try { bool result = oauth.ClientLogin(passport, passwd); var tr = oauth.VerifierAccessToken(); if (tr == NetDimension.Weibo.TokenResult.Success) { UILoginComplete(result, "登录成功。"); } else { UILoginComplete(result, tr.ToString()); } } catch (Exception ex) { UILoginComplete(false, ex.Message); } }); thLogin.Start(); }
private void btnGetAllWeiBoUsers_Click(object sender, EventArgs e) { var Srv = SystemManager.GetCurrentServer(); if (Srv != null) { var db = Srv.GetDatabase("SinaWeibo"); var col = db.GetCollection("User"); var oauth = new NetDimension.Weibo.OAuth(txtAppKey.Text, txtAppSrect.Text); bool result = oauth.ClientLogin(txtWeiBoUsr.Text, txtWeiBoPsw.Text); if (result) //返回true成功 { var Sina = new NetDimension.Weibo.Client(oauth); var uid = Sina.API.Account.GetUID(); GetUser(col, Sina, uid); } } MessageBox.Show("OK"); }
//抓取官方微薄最新消息,我是it刘账号 public ActionResult WeiBoAPI() { //sina授权的实例化 var oauth = new NetDimension.Weibo.OAuth("3472401107", "21338ee3f6c6ff661945974ee2d0b2de", "http://127.0.0.1/NewLifeScan"); //access token 授权 var result = oauth.ClientLogin("13851488992", "851211"); string AccessToken = oauth.AccessToken; //还是来打印下AccessToken var Sina = new NetDimension.Weibo.Client(oauth); var uid = Sina.API.Dynamic.Account.GetUID(); //调用API中获取UID的方法 // var NearestNews = Sina.API.Dynamic.Statuses.UserTimeline("1897719834","刘彦玮", "", "", 1, 1, true, 0); var NearestNews = Sina.API.Dynamic.Statuses.FriendsTimelineIDs(); //weibo.com/u/2709878972 //传递数据 ViewBag.AccessToken = AccessToken; ViewBag.weiboResult = uid; ViewBag.NearestNews = NearestNews; ViewBag.MentionIDs = Sina.API.Dynamic.Statuses.MentionIDs(); ViewBag.Mentions = Sina.API.Dynamic.Statuses.Mentions(); //获取朋友发的微博数据 //测试地址:https://api.weibo.com/2/statuses/home_timeline.json?appkey=3472401107&&access_token=2.00z5kqwDTJqzmDeae65e57f77ge13E var HomeTimeline = Sina.API.Entity.Statuses;//获取用户发布的微薄列表 ViewBag.User = uid; // ViewBag.test = HomeTimeline.Statuses.ToList(); ViewBag.UserTimeline = HomeTimeline; //from c in HomeTimeline.Statuses.ToList() // select new // { // c.User, // c.Text, // c.Source // }; return(View()); }
//抓取官方微薄最新消息,sensitive账号 public ActionResult WeiBoAPI1() { //sina授权的实例化 var oauth = new NetDimension.Weibo.OAuth("2371575470", "4b03b21f941c30c091e995f63d7e5103", "http://127.0.0.1/NewLifeScan/home/WeiBoAPI"); //access token 授权 var result = oauth.ClientLogin("*****@*****.**", "weiZIPP1"); string AccessToken = oauth.AccessToken; //还是来打印下AccessToken var Sina = new NetDimension.Weibo.Client(oauth); var uid = Sina.API.Dynamic.Account.GetUID(); //调用API中获取UID的方法 // var NearestNews = Sina.API.Dynamic.Statuses.UserTimeline("1897719834","刘彦玮", "", "", 1, 1, true, 0); var NearestNews = Sina.API.Dynamic.Statuses.FriendsTimelineIDs(); //weibo.com/u/2709878972 //传递数据 ViewBag.AccessToken = AccessToken; ViewBag.weiboResult = uid; ViewBag.NearestNews = NearestNews; ViewBag.MentionIDs = Sina.API.Dynamic.Statuses.MentionIDs(); ViewBag.Mentions = Sina.API.Dynamic.Statuses.Mentions(); ViewBag.UserTimeline = Sina.API.Dynamic.Statuses.UserTimeline();//获取用户发布的微薄列表 var UserTimeline = Sina.API.Dynamic.Statuses.UserTimeline(); var TILELINE = Sina.API.Entity.Statuses.UserTimeline(); ViewBag.firstText = TILELINE.Statuses.First().Text; //据说通过审核后可以使用功能,坐等 //参考网址http://open.weibo.com/qa/index.php?qa=17410&qa_1=statuses-user_timeline%E5%8D%87%E7%BA%A7%E5%90%8E%E5%8F%AA%E8%83%BD%E8%AF%B7%E6%B1%82%E5%BD%93%E5%89%8D%E6%8E%88%E6%9D%83%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF // var lifescanWeibo = Sina.API.Entity.Statuses.UserTimeline("2642246987"); // ViewBag.lifescanWeibo = lifescanWeibo.Statuses.FirstOrDefault().Text; ViewBag.test = ""; return(View()); }
private void btnGetFollowers_Click(object sender, EventArgs e) { var Srv = SystemManager.GetCurrentServer(); if (Srv != null) { var db = Srv.GetDatabase("SinaWeibo"); var oauth = new NetDimension.Weibo.OAuth(txtAppKey.Text, txtAppSrect.Text); bool result = oauth.ClientLogin(txtWeiBoUsr.Text, txtWeiBoPsw.Text); if (result) //返回true成功 { var Sina = new NetDimension.Weibo.Client(oauth); var uid = Sina.API.Account.GetUID(); var col = db.GetCollection(txtSupperStarID.Text + txtSupperStarName.Text + "(Followers)"); int UserCount; int TotalCount; UserCount = 0; TotalCount = 0; NetDimension.Weibo.Entities.user.Collection followers; do { followers = Sina.API.Friendships.Followers(txtSupperStarID.Text, "", 150, UserCount, true); if (TotalCount == 0) { TotalCount = followers.TotalNumber; } foreach (var follow in followers.Users) { col.Insert(follow); UserCount++; } } while (UserCount < TotalCount); MessageBox.Show("OK"); } } else { MessageBox.Show("MongoDB Not Found"); } }
private void btnGetMyFriendsAndFollowers_Click(object sender, EventArgs e) { var Srv = SystemManager.GetCurrentServer(); if (Srv != null) { var db = Srv.GetDatabase("SinaWeibo"); var oauth = new NetDimension.Weibo.OAuth(txtAppKey.Text, txtAppSrect.Text); bool result = oauth.ClientLogin(txtWeiBoUsr.Text, txtWeiBoPsw.Text); if (result) //返回true成功 { var Sina = new NetDimension.Weibo.Client(oauth); var uid = Sina.API.Account.GetUID(); var friends = Sina.API.Friendships.Friends(uid); foreach (var friend in friends.Users) { var col = db.GetCollection("MyFriends"); col.Insert(friend); } var followers = Sina.API.Friendships.Followers(uid); foreach (var follow in followers.Users) { var col = db.GetCollection("MyFollowers"); col.Insert(follow); } } } MessageBox.Show("OK"); }