/// <summary> /// 发布一条新微博 /// </summary> /// <param name="status">要发布的微博文本内容,内容不超过140个汉字。</param> /// <param name="visible">微博的可见性,0:所有人能看,1:仅自己可见,2:密友可见,3:指定分组可见,默认为0。</param> /// <param name="list_id">微博的保护投递指定分组ID,只有当visible参数为3时生效且必选。</param> /// <param name="plat">纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。</param> /// <param name="plong">经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。</param> /// <returns></returns> public static async Task <MessageModel> Post(string status, WeiboVisibility visible = WeiboVisibility.All, string list_id = "", float plat = 0f, float plong = 0f) { Dictionary <string, HttpContent> param = new Dictionary <string, HttpContent>() { { nameof(status), new StringContent(status) }, { nameof(visible), new StringContent(visible.ToString("D")) }, { "lat", new StringContent(plat.ToString()) }, { "long", new StringContent(plong.ToString()) }, }; CheckForVisibility(visible, list_id, ref param); return(JsonConvert.DeserializeObject <MessageModel>(await HttpHelper.PostAsync(Constants.UPDATE, param))); }
/// <summary> /// 检查参数是否正确 /// </summary> /// <param name="visible"></param> /// <param name="list_id"></param> /// <param name="param"></param> private static void CheckForVisibility(WeiboVisibility visible, string list_id, ref Dictionary <string, HttpContent> param) { if (visible == WeiboVisibility.SpecifiedGroup) { if (string.IsNullOrEmpty(list_id)) { throw new ArgumentException($"list_id can not be empty or null when visible == WeiboVisibility.SpecifiedGroup"); } else { param.Add(nameof(list_id), new StringContent(list_id)); } } }