Beispiel #1
0
        /// <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)));
        }
Beispiel #2
0
 /// <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));
         }
     }
 }