/// <summary> /// 批量上传图片到新浪 /// </summary> /// <param name="webLogin">当前登陆对象</param> /// <param name="picContents">图片Byte[]集合</param> /// <returns>图片Pid列表</returns> public List <string> AddPicture(IWeiboLogin webLogin, params byte[][] picContents) { ComWeiboLogin login = webLogin.GetWeiboLogin <ComWeiboLogin>(); login.Web.Encode = Encoding.UTF8; string html = login.Web.GetHTML("http://weibo.com/"); if (string.IsNullOrEmpty(html)) { ComHttpWorkLogger.Info(string.Format("上传图片失败\r\n")); throw new Exception("上传图片失败 http://weibo.com/ 返回空"); } var onick = onickReg.Match(html).Groups["onick"].Value; var oid = oidReg.Match(html).Groups["oid"].Value; List <string> res = new List <string>(); foreach (var pic in picContents) { var pichtml = login.Web.UploadImage(pic, string.Format("http://picupload.service.weibo.com/interface/pic_upload.php?app=miniblog&data=1&url=weibo.com/u/{0}&markpos=1&logo=1&nick={1}&marks=1&mime=image/jpeg&ct={2}", onick, oid, new Random(Guid.NewGuid().GetHashCode()).NextDouble())) ?? ""; if (string.IsNullOrEmpty(pichtml)) { ComHttpWorkLogger.Info("图片pid获取失败\r\n{0}图片长度:\r\n{1}", pichtml, pic.Length); } else { res.Add(pidReg.Match(pichtml).Groups["pid"].Value); } } return(res); }
/// <summary> /// 发微博 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="text">微博内容 不能超过140字</param> /// <param name="appkey">appkey 可以为null</param> /// <param name="picPidOrPaths">图片Pid集合、路径集合</param> /// <returns>结果 空字符串表示成功</returns> public string AddMblog(IWeiboLogin webLogin, string text, string appkey, params string[] picPidOrPaths) { text.CheckLength(280); ComWeiboLogin login = webLogin.GetWeiboLogin <ComWeiboLogin>(); string picsPid = picPidOrPaths.GetPicsPid(webLogin); return(AddMblog(login, text, picsPid)); }
/// <summary> /// 登陆对象向下转换 /// </summary> /// <typeparam name="T">具体登陆平台对象类型</typeparam> /// <param name="webLogin">抽象对象</param> /// <returns>具体登陆平台对象</returns> internal static T GetWeiboLogin <T>(this IWeiboLogin webLogin) where T : class { T login = webLogin as T; if (login == null) { throw new Exception("登陆对象为空"); } return(login); }
/// <summary> /// CN登陆测试 /// </summary> /// <param name="un"></param> /// <param name="pd"></param> private static void CNLoginTest(string un, string pd) { IWeiboLogin service = PlatformType.CN.GetWeiboLogin(); service.WeiboLogin(un, pd); string res = string.Format("Result:{0},Error:{1},Uid:{2},Nickname:{3}", service.Result, service.Error, service.Uid, service.Nickname); Console.WriteLine(res); }
/// <summary> /// 根据picPidOrPaths获取pid /// </summary> /// <param name="picPidOrPaths">picPidOrPaths</param> /// <param name="webLogin">当前登陆对象</param> /// <param name="joinLetter">多个pid之间的连接符号</param> /// <returns>pid1 pid2 pid3</returns> /// <exception cref="Exception"></exception> public static string GetPicsPid(this string[] picPidOrPaths, IWeiboLogin webLogin, string joinLetter = " ") { if (picPidOrPaths == null || !picPidOrPaths.Any()) { return(""); } List <string> pids = new List <string>(); List <string> paths = new List <string>(); foreach (string picPidOrPath in picPidOrPaths.Where(c => !string.IsNullOrEmpty(c))) { //path if (picPidOrPath.Contains(".")) { if (picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "jpg" && picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "png" && picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "gif") { throw new Exception(string.Format("图片文件扩展名错误({0})", picPidOrPath)); } paths.Add(picPidOrPath); } //pid else { pids.Add(picPidOrPath); } } //path转pid if (paths.Any()) { pids.AddRange(webLogin.CurrPlatformType.GetHttpWork().AddPicture(webLogin, paths.ToArray())); } return(string.Join(joinLetter, pids)); }
/// <summary> /// 收所有的私信会话 /// </summary> /// <param name="webLogin"></param> /// <param name="uid"></param> /// <returns></returns> public List <CnDirectMessagesEntity> RecevieAllDirectMessages(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现RecevieAllDirectMessages"); return(new List <CnDirectMessagesEntity>()); }
public string FriendDestroy(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
/// <summary> /// 发私信 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">私信对象</param> /// <param name="text">私信内容</param> /// <returns>结果 空字符串表示成功</returns> public string SendDirectMessages(IWeiboLogin webLogin, string uid, string text) { ComHttpWorkLogger.Warn("Com 未实现SendDirectMessages"); return ""; }
/// <summary> /// 根据uid获取用户信息 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid"></param> /// <returns></returns> public CommonEntityLib.Entities.user.Entity GetUserEntity(IWeiboLogin webLogin, string uid) { IWeiboLogin cnWeiboLogin = PlatformType.CN.GetWeiboLogin(); cnWeiboLogin.Web.Cookie = webLogin.Web.Cookie; if (!CNHttpWork.UserExist(cnWeiboLogin.Web, uid)) { return null; } CommonEntityLib.Entities.user.Entity res = CNHttpWork.GetUserEntity(cnWeiboLogin.Web, uid); if (res == null) { return null; } string url = "http://weibo.com/" + uid + "/info"; string html = webLogin.Web.GetHTML(url); if (string.IsNullOrEmpty(html)) { return null; } var temHtmlList = new Dictionary<string, string>(); if (html.Contains("<script>FM")) { var regex = new Regex(@"FM.view\((?<json>.*?)\)</script>"); if (regex.IsMatch(html)) { foreach (Match match in regex.Matches(html)) { string jsonStr = match.Groups["json"].Value; if (!jsonStr.Contains("等级信息") && !jsonStr.Contains("基本信息") && !jsonStr.Contains("他的主页") && !jsonStr.Contains("Pl_Official_Headerv6__1")) { continue; } var json = DynamicJson.Parse(jsonStr); string domid = json.domid; try { string ht = json.html; for (var i = (char)1; i < (char)32; i++) { ht = ht.Replace(i.ToString(CultureInfo.InvariantCulture), string.Empty); } ht = ht.Replace("\x7F", string.Empty); temHtmlList.Add(domid, ht); } catch (Exception) { } } } } foreach (var thl in temHtmlList) { if (thl.Key.Contains("Pl_Official_Headerv6__1")) { res.Verified = thl.Value.Contains("verified.weibo.com"); if (res.Verified) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; res.VerifiedReason = root.SelectSingleNode("div/div/div[@class='shadow S_shadow']/div[@class='pf_photo']/a/em") .Attributes["title"].Value; } continue; } if (thl.Value.Contains("等级信息")) { // 等级 // <span>Lv.2</span> string lv = Regex.Match(thl.Value, "<span>Lv\\.(?<lv>\\d*)</span>").Groups["lv"].Value; int uRank; if (!string.IsNullOrEmpty(lv) && int.TryParse(lv, out uRank)) { res.Urank = uRank; } continue; } if (thl.Value.Contains("他的主页")) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; var aTag = root.SelectSingleNode("div/div/table/tr/td/a"); if (aTag != null) { res.ProfileUrl = string.Format("http://weibo.com{0}", aTag.Attributes["href"].Value); } } if (thl.Value.Contains("基本信息")) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; HtmlNodeCollection categoryNodeList = root.SelectNodes("//ul[@class='clearfix']/li"); if (categoryNodeList == null) { continue; } foreach (HtmlNode htmlNode in categoryNodeList) { HtmlNodeCollection spans = htmlNode.SelectNodes("span"); if (spans.Count != 2) { continue; } string txt = spans[0].InnerText; string val = spans[1].InnerText; if (txt.Contains("博客")) { res.Url = val; continue; } if (txt.Contains("个性域名")) { res.Domain = val; continue; } if (txt.Contains("注册时间")) { res.CreatedAt = val; continue; } if (txt.Contains("所在地")) { res.Location = val; if (!string.IsNullOrEmpty(res.Location) && res.Location.Split(' ').Count() >= 2) { string provice = res.Location.Split(' ')[0].Trim(); string city = res.Location.Split(' ')[1].Trim(); res.Province = ProvinceToCode(provice); res.City = CityToCode(city); } continue; } if (txt.Contains("标签")) { HtmlNodeCollection tags = spans[1].SelectNodes("a"); if (tags != null) { res.Remark = string.Join(",", tags.Select(c => c.InnerText)); } } } } } return res; }
/// <summary> /// 取消关注 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">取消关注用户uid</param> /// <returns>结果 空字符串表示成功</returns> public string FriendDestroy(IWeiboLogin webLogin, string uid) { ComWeiboLogin login = webLogin.GetWeiboLogin<ComWeiboLogin>(); return FriendDestroy(login.Web, uid); }
/// <summary> /// 批量上传图片到新浪 /// </summary> /// <param name="webLogin">当前登陆对象</param> /// <param name="picPaths">图片路径集合</param> /// <returns>图片Pid列表</returns> public List<string> AddPicture(IWeiboLogin webLogin, params string[] picPaths) { byte[][] pics = picPaths.Select(File.ReadAllBytes).ToArray(); return AddPicture(webLogin, pics); }
public string AttitudesDestroy(IWeiboLogin webLogin, string weiboUrl, string weiboId) { throw new NotImplementedException(); }
public List <Entity> ReceiveComment(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
public string SendReplyComment(IWeiboLogin webLogin, string uid, string mid, string cid, string replyName, string replyContent) { throw new NotImplementedException(); }
public List <CnDirectMessagesEntity> RecevieAllDirectMessages(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
public string SendDirectMessages(IWeiboLogin webLogin, string uid, string text) { throw new NotImplementedException(); }
public string SaveInformation(IWeiboLogin webLogin, string targetUid, string uid, string nickname) { throw new NotImplementedException(); }
/// <summary> /// 收发给自己的评论 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid"></param> /// <returns></returns> public List <Entity> ReceiveComment(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现ReceiveComment"); return(new List <Entity>()); }
/// <summary> /// 根据用户uid获取最近10条微博 /// </summary> /// <param name="webLogin"></param> /// <param name="uid"></param> /// <returns></returns> public List <CommonEntityLib.Entities.status.Entity> GetMblogs(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现GetMblogs"); return(new List <CommonEntityLib.Entities.status.Entity>()); }
public string SaveInformation(IWeiboLogin webLogin, string targetUid, string uid, string nickname) { throw new NotImplementedException(); }
/// <summary> /// 发微博 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="text">微博内容 不能超过140字</param> /// <param name="appkey">appkey 可以为null</param> /// <param name="picPidOrPaths">图片Pid集合、路径集合</param> /// <returns>结果 空字符串表示成功</returns> public string AddMblog(IWeiboLogin webLogin, string text, string appkey, params string[] picPidOrPaths) { text.CheckLength(280); ComWeiboLogin login = webLogin.GetWeiboLogin<ComWeiboLogin>(); string picsPid = picPidOrPaths.GetPicsPid(webLogin); return AddMblog(login, text, picsPid); }
public string SendDirectMessages(IWeiboLogin webLogin, string uid, string text) { throw new NotImplementedException(); }
/// <summary> /// 取消赞 /// Com未实现这个方法 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="weiboUrl">微博url</param> /// <param name="weiboId">微博id</param> /// <returns>结果 空字符串表示成功</returns> public string AttitudesDestroy(IWeiboLogin webLogin, string weiboUrl, string weiboId) { ComHttpWorkLogger.Warn("Com 未实现AttitudesDestroy"); return ""; }
public string SendReplyComment(IWeiboLogin webLogin, string uid, string mid, string cid, string replyName, string replyContent) { throw new NotImplementedException(); }
/// <summary> /// 根据用户uid获取最近10条微博 /// </summary> /// <param name="webLogin"></param> /// <param name="uid"></param> /// <returns></returns> public List<CommonEntityLib.Entities.status.Entity> GetMblogs(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现GetMblogs"); return new List<CommonEntityLib.Entities.status.Entity>(); }
public bool UserExist(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
/// <summary> /// 收发给自己的私信 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">账号自己的Uid</param> /// <returns>私信列表</returns> public List<CnDirectMessagesEntity> RecevieDirectMessages(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现RecevieDirectMessages"); return new List<CnDirectMessagesEntity>(); }
/// <summary> /// 发微博 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="text">微博内容 不能超过140字</param> /// <param name="appkey">appkey 可以为null</param> /// <param name="picPidOrPaths">图片Pid集合、路径集合</param> /// <returns>结果 空字符串表示成功</returns> public string AddMblog(IWeiboLogin webLogin, string text, string appkey, params string[] picPidOrPaths) { throw new NotImplementedException(); }
public string UploadAvatar(IWeiboLogin webLogin, string cloneUid) { throw new NotImplementedException(); }
public List<string> AddPicture(IWeiboLogin webLogin, params string[] picPaths) { throw new NotImplementedException(); }
/// <summary> /// 发私信 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">私信对象</param> /// <param name="text">私信内容</param> /// <returns>结果 空字符串表示成功</returns> public string SendDirectMessages(IWeiboLogin webLogin, string uid, string text) { ComHttpWorkLogger.Warn("Com 未实现SendDirectMessages"); return(""); }
public string AttitudesDestroy(IWeiboLogin webLogin, string weiboUrl, string weiboId) { throw new NotImplementedException(); }
/// <summary> /// 发送回复评论 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">工作号自己的Uid(用于记录日志)</param> /// <param name="mid">评论的那条微博mid</param> /// <param name="cid">被回复的评论cid</param> /// <param name="replyName">被回复人的昵称</param> /// <param name="replyContent">回复评论内容</param> /// <returns>结果 空字符串表示成功</returns> public string SendReplyComment(IWeiboLogin webLogin, string uid, string mid, string cid, string replyName, string replyContent) { ComHttpWorkLogger.Warn("Com 未实现SendReplyComment"); return(""); }
/// <summary> /// 根据uid判断用户是否存在 /// </summary> /// <param name="webLogin"></param> /// <param name="uid"></param> /// <returns></returns> public bool UserExist(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现UserExist"); return(false); }
/// <summary> /// 根据uid获取用户信息 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid"></param> /// <returns></returns> public CommonEntityLib.Entities.user.Entity GetUserEntity(IWeiboLogin webLogin, string uid) { IWeiboLogin cnWeiboLogin = PlatformType.CN.GetWeiboLogin(); cnWeiboLogin.Web.Cookie = webLogin.Web.Cookie; if (!CNHttpWork.UserExist(cnWeiboLogin.Web, uid)) { return(null); } CommonEntityLib.Entities.user.Entity res = CNHttpWork.GetUserEntity(cnWeiboLogin.Web, uid); if (res == null) { return(null); } string url = "http://weibo.com/" + uid + "/info"; string html = webLogin.Web.GetHTML(url); if (string.IsNullOrEmpty(html)) { return(null); } var temHtmlList = new Dictionary <string, string>(); if (html.Contains("<script>FM")) { var regex = new Regex(@"FM.view\((?<json>.*?)\)</script>"); if (regex.IsMatch(html)) { foreach (Match match in regex.Matches(html)) { string jsonStr = match.Groups["json"].Value; if (!jsonStr.Contains("等级信息") && !jsonStr.Contains("基本信息") && !jsonStr.Contains("他的主页") && !jsonStr.Contains("Pl_Official_Headerv6__1")) { continue; } var json = DynamicJson.Parse(jsonStr); string domid = json.domid; try { string ht = json.html; for (var i = (char)1; i < (char)32; i++) { ht = ht.Replace(i.ToString(CultureInfo.InvariantCulture), string.Empty); } ht = ht.Replace("\x7F", string.Empty); temHtmlList.Add(domid, ht); } catch (Exception) { } } } } foreach (var thl in temHtmlList) { if (thl.Key.Contains("Pl_Official_Headerv6__1")) { res.Verified = thl.Value.Contains("verified.weibo.com"); if (res.Verified) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; res.VerifiedReason = root.SelectSingleNode("div/div/div[@class='shadow S_shadow']/div[@class='pf_photo']/a/em") .Attributes["title"].Value; } continue; } if (thl.Value.Contains("等级信息")) { // 等级 // <span>Lv.2</span> string lv = Regex.Match(thl.Value, "<span>Lv\\.(?<lv>\\d*)</span>").Groups["lv"].Value; int uRank; if (!string.IsNullOrEmpty(lv) && int.TryParse(lv, out uRank)) { res.Urank = uRank; } continue; } if (thl.Value.Contains("他的主页")) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; var aTag = root.SelectSingleNode("div/div/table/tr/td/a"); if (aTag != null) { res.ProfileUrl = string.Format("http://weibo.com{0}", aTag.Attributes["href"].Value); } } if (thl.Value.Contains("基本信息")) { HtmlDocument document = new HtmlDocument(); document.LoadHtml(thl.Value); var root = document.DocumentNode; HtmlNodeCollection categoryNodeList = root.SelectNodes("//ul[@class='clearfix']/li"); if (categoryNodeList == null) { continue; } foreach (HtmlNode htmlNode in categoryNodeList) { HtmlNodeCollection spans = htmlNode.SelectNodes("span"); if (spans.Count != 2) { continue; } string txt = spans[0].InnerText; string val = spans[1].InnerText; if (txt.Contains("博客")) { res.Url = val; continue; } if (txt.Contains("个性域名")) { res.Domain = val; continue; } if (txt.Contains("注册时间")) { res.CreatedAt = val; continue; } if (txt.Contains("所在地")) { res.Location = val; if (!string.IsNullOrEmpty(res.Location) && res.Location.Split(' ').Count() >= 2) { string provice = res.Location.Split(' ')[0].Trim(); string city = res.Location.Split(' ')[1].Trim(); res.Province = ProvinceToCode(provice); res.City = CityToCode(city); } continue; } if (txt.Contains("标签")) { HtmlNodeCollection tags = spans[1].SelectNodes("a"); if (tags != null) { res.Remark = string.Join(",", tags.Select(c => c.InnerText)); } } } } } return(res); }
/// <summary> /// 根据m.weibo.cn博文地址获取博文信息 /// </summary> /// <param name="webLogin"></param> /// <param name="url"></param> /// <returns></returns> public CommonEntityLib.Entities.status.Entity GetMblog(IWeiboLogin webLogin, string url) { ComHttpWorkLogger.Warn("Com 未实现GetMblog"); return(new CommonEntityLib.Entities.status.Entity()); }
public string DelMblog(IWeiboLogin webLogin, string url, string mid) { throw new NotImplementedException(); }
public string DelMblog(IWeiboLogin webLogin, string url, string mid) { throw new NotImplementedException(); }
/// <summary> /// 获取新增粉丝的第一页 /// </summary> /// <param name="webLogin"></param> public List <string> GetNewFans(IWeiboLogin webLogin) { ComHttpWorkLogger.Warn("Com 未实现GetNewFans"); return(new List <string>()); }
public string FriendDestroy(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
public CommonEntityLib.Entities.status.Entity GetMblog(IWeiboLogin webLogin, string url) { throw new NotImplementedException(); }
public List<CommonEntityLib.Entities.status.Entity> GetMblogs(IWeiboLogin webLogin, string uid) { throw new NotImplementedException(); }
/// <summary> /// 批量上传图片到新浪 /// </summary> /// <param name="webLogin">当前登陆对象</param> /// <param name="picContents">图片Byte[]集合</param> /// <returns>图片Pid列表</returns> public List<string> AddPicture(IWeiboLogin webLogin, params byte[][] picContents) { ComWeiboLogin login = webLogin.GetWeiboLogin<ComWeiboLogin>(); login.Web.Encode = Encoding.UTF8; string html = login.Web.GetHTML("http://weibo.com/"); if (string.IsNullOrEmpty(html)) { ComHttpWorkLogger.Info(string.Format("上传图片失败\r\n")); throw new Exception("上传图片失败 http://weibo.com/ 返回空"); } var onick = onickReg.Match(html).Groups["onick"].Value; var oid = oidReg.Match(html).Groups["oid"].Value; List<string> res = new List<string>(); foreach (var pic in picContents) { var pichtml = login.Web.UploadImage(pic, string.Format("http://picupload.service.weibo.com/interface/pic_upload.php?app=miniblog&data=1&url=weibo.com/u/{0}&markpos=1&logo=1&nick={1}&marks=1&mime=image/jpeg&ct={2}", onick, oid, new Random(Guid.NewGuid().GetHashCode()).NextDouble())) ?? ""; if (string.IsNullOrEmpty(pichtml)) { ComHttpWorkLogger.Info("图片pid获取失败\r\n{0}图片长度:\r\n{1}", pichtml, pic.Length); } else { res.Add(pidReg.Match(pichtml).Groups["pid"].Value); } } return res; }
/// <summary> /// 根据picPidOrPaths获取pid /// </summary> /// <param name="picPidOrPaths">picPidOrPaths</param> /// <param name="webLogin">当前登陆对象</param> /// <param name="joinLetter">多个pid之间的连接符号</param> /// <returns>pid1 pid2 pid3</returns> /// <exception cref="Exception"></exception> public static string GetPicsPid(this string[] picPidOrPaths, IWeiboLogin webLogin, string joinLetter = " ") { if (picPidOrPaths == null || !picPidOrPaths.Any()) { return ""; } List<string> pids = new List<string>(); List<string> paths = new List<string>(); foreach (string picPidOrPath in picPidOrPaths.Where(c => !string.IsNullOrEmpty(c))) { //path if (picPidOrPath.Contains(".")) { if (picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "jpg" && picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "png" && picPidOrPath.Substring(picPidOrPath.LastIndexOf(".", StringComparison.Ordinal) + 1).ToLower() != "gif") { throw new Exception(string.Format("图片文件扩展名错误({0})", picPidOrPath)); } paths.Add(picPidOrPath); } //pid else { pids.Add(picPidOrPath); } } //path转pid if (paths.Any()) { pids.AddRange(webLogin.CurrPlatformType.GetHttpWork().AddPicture(webLogin, paths.ToArray())); } return string.Join(joinLetter, pids); }
/// <summary> /// 点赞 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="weiboUrl">微博url</param> /// <param name="weiboId">微博id</param> /// <returns>结果 空字符串表示成功</returns> public string AttitudesCreate(IWeiboLogin webLogin, string weiboUrl, string weiboId) { ComWeiboLogin login = webLogin.GetWeiboLogin<ComWeiboLogin>(); return AttitudesCreate(login.Web, weiboUrl, weiboId); }
/// <summary> /// 批量上传图片到新浪 /// </summary> /// <param name="webLogin">当前登陆对象</param> /// <param name="picPaths">图片路径集合</param> /// <returns>图片Pid列表</returns> public List <string> AddPicture(IWeiboLogin webLogin, params string[] picPaths) { byte[][] pics = picPaths.Select(File.ReadAllBytes).ToArray(); return(AddPicture(webLogin, pics)); }
/// <summary> /// 删除微博 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="url"></param> /// <param name="mid"></param> /// <returns></returns> public string DelMblog(IWeiboLogin webLogin, string url, string mid) { ComWeiboLogin login = webLogin.GetWeiboLogin<ComWeiboLogin>(); return DelMblog(login.Web, url, mid); }
/// <summary> /// 取消关注 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">取消关注用户uid</param> /// <returns>结果 空字符串表示成功</returns> public string FriendDestroy(IWeiboLogin webLogin, string uid) { ComWeiboLogin login = webLogin.GetWeiboLogin <ComWeiboLogin>(); return(FriendDestroy(login.Web, uid)); }
/// <summary> /// 根据m.weibo.cn博文地址获取博文信息 /// </summary> /// <param name="webLogin"></param> /// <param name="url"></param> /// <returns></returns> public CommonEntityLib.Entities.status.Entity GetMblog(IWeiboLogin webLogin, string url) { ComHttpWorkLogger.Warn("Com 未实现GetMblog"); return new CommonEntityLib.Entities.status.Entity(); }
/// <summary> /// 点赞 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="weiboUrl">微博url</param> /// <param name="weiboId">微博id</param> /// <returns>结果 空字符串表示成功</returns> public string AttitudesCreate(IWeiboLogin webLogin, string weiboUrl, string weiboId) { ComWeiboLogin login = webLogin.GetWeiboLogin <ComWeiboLogin>(); return(AttitudesCreate(login.Web, weiboUrl, weiboId)); }
/// <summary> /// 获取新增粉丝的第一页 /// </summary> /// <param name="webLogin"></param> public List<string> GetNewFans(IWeiboLogin webLogin) { ComHttpWorkLogger.Warn("Com 未实现GetNewFans"); return new List<string>(); }
/// <summary> /// 删除微博 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="url"></param> /// <param name="mid"></param> /// <returns></returns> public string DelMblog(IWeiboLogin webLogin, string url, string mid) { ComWeiboLogin login = webLogin.GetWeiboLogin <ComWeiboLogin>(); return(DelMblog(login.Web, url, mid)); }
/// <summary> /// 收发给自己的评论 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid"></param> /// <returns></returns> public List<Entity> ReceiveComment(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现ReceiveComment"); return new List<Entity>(); }
public string UploadAvatar(IWeiboLogin webLogin, string cloneUid) { throw new NotImplementedException(); }
/// <summary> /// 复制被克隆对象信息 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="targetUid"></param> /// <param name="uid">小号的uid</param> /// <param name="nickname">小号待更新的昵称</param> /// <returns>结果 空字符串表示成功</returns> public string SaveInformation(IWeiboLogin webLogin, string targetUid, string uid, string nickname) { ComHttpWorkLogger.Warn("Com 未实现SaveInformation"); return ""; }
/// <summary> /// 取消赞 /// Com未实现这个方法 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="weiboUrl">微博url</param> /// <param name="weiboId">微博id</param> /// <returns>结果 空字符串表示成功</returns> public string AttitudesDestroy(IWeiboLogin webLogin, string weiboUrl, string weiboId) { ComHttpWorkLogger.Warn("Com 未实现AttitudesDestroy"); return(""); }
/// <summary> /// 发送回复评论 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="uid">工作号自己的Uid(用于记录日志)</param> /// <param name="mid">评论的那条微博mid</param> /// <param name="cid">被回复的评论cid</param> /// <param name="replyName">被回复人的昵称</param> /// <param name="replyContent">回复评论内容</param> /// <returns>结果 空字符串表示成功</returns> public string SendReplyComment(IWeiboLogin webLogin, string uid, string mid, string cid, string replyName, string replyContent) { ComHttpWorkLogger.Warn("Com 未实现SendReplyComment"); return ""; }
/// <summary> /// 复制被克隆对象信息 /// </summary> /// <param name="webLogin">登陆对象</param> /// <param name="targetUid"></param> /// <param name="uid">小号的uid</param> /// <param name="nickname">小号待更新的昵称</param> /// <returns>结果 空字符串表示成功</returns> public string SaveInformation(IWeiboLogin webLogin, string targetUid, string uid, string nickname) { ComHttpWorkLogger.Warn("Com 未实现SaveInformation"); return(""); }
/// <summary> /// 根据uid判断用户是否存在 /// </summary> /// <param name="webLogin"></param> /// <param name="uid"></param> /// <returns></returns> public bool UserExist(IWeiboLogin webLogin, string uid) { ComHttpWorkLogger.Warn("Com 未实现UserExist"); return false; }
public List <string> AddPicture(IWeiboLogin webLogin, params string[] picPaths) { throw new NotImplementedException(); }