示例#1
0
        /// <summary>
        /// 创建群聊
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            string  chatid = string.Empty;
            JObject obj    = null;

            if (rad_SDK.Checked)
            {
                IDingTalkClient       client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/create");
                OapiChatCreateRequest req    = new OapiChatCreateRequest();
                req.Name  = txt_Name.Text;
                req.Owner = txt_uid.Text;
                List <string> list = txt_child.Text.Split(',').ToList();
                req.Useridlist = list;
                OapiChatCreateResponse rsp = client.Execute(req, txt_access_token.Text);
                if (rsp != null)
                {
                    obj = JsonConvert.DeserializeObject <JObject>(rsp.Body);
                }
            }
            else
            {
                string path = string.Format("https://oapi.dingtalk.com/chat/create?access_token={0}", txt_access_token.Text);
                Dictionary <string, string> list = new Dictionary <string, string>();
                list.Add("name", txt_Name.Text);
                list.Add("owner", txt_uid.Text);
                string[] arr = txt_child.Text.Split(',');
                list.Add("useridlist", JsonConvert.SerializeObject(arr).ToString());
                var result = HttpHelper.Post(path, JsonConvert.SerializeObject(list).ToString());
                obj = JsonConvert.DeserializeObject <JObject>(result);
            }

            if (obj != null)
            {
                if (obj["chatid"] != null)
                {
                    chatid = obj["chatid"].ToString();
                    string path = Environment.CurrentDirectory + "//data.txt";
                    if (!File.Exists(path))
                    {
                        File.Create(path).Dispose();
                    }
                    List <string> list_address = File.ReadAllLines(path, Encoding.UTF8).ToList();
                    list_address.Add(txt_Name.Text + "," + obj["chatid"].ToString());
                    File.WriteAllLines(path, list_address, Encoding.UTF8);
                }
                else
                {
                    chatid = obj["errmsg"].ToString();
                }
            }
            txt_cid.Text = chatid;
        }
示例#2
0
        /// <summary>
        /// 创建会话
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="name">群名称,长度限制为1~20个字符</param>
        /// <param name="owner">群主userId,员工唯一标识ID;必须为该会话useridlist的成员之一</param>
        /// <param name="userIds">群成员列表,每次最多支持40人,群人数上限为1000</param>
        /// <param name="showHistory">新成员是否可查看聊天历史消息(新成员入群是否可查看最近100条聊天记录), 0代表否, 1代表是, 不传默认为否</param>
        /// <param name="searchable">群可搜索,0-默认,不可搜索,1-可搜索</param>
        /// <param name="validationType">入群验证,0:不入群验证(默认) 1:入群验证</param>
        /// <param name="mentionAllAuthority">@all 权限,0-默认,所有人,1-仅群主可@all</param>
        /// <param name="chatBannedType">群禁言,0-默认,不禁言,1-全员禁言</param>
        /// <param name="managementType">管理类型,0-默认,所有人可管理,1-仅群主可管理</param>
        /// <returns></returns>
        public OapiChatCreateResponse Create(string accessToken, string name, string owner, List <string> userIds, long showHistory = 0, long searchable = 0, long validationType = 0, long mentionAllAuthority = 0, long chatBannedType = 0, long managementType = 0)
        {
            IDingTalkClient       client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/create");
            OapiChatCreateRequest request = new OapiChatCreateRequest();

            request.Name                = name;
            request.Owner               = owner;
            request.Useridlist          = userIds;
            request.ShowHistoryType     = showHistory;
            request.Searchable          = searchable;
            request.ValidationType      = validationType;
            request.MentionAllAuthority = mentionAllAuthority;
            request.ChatBannedType      = chatBannedType;
            request.ManagementType      = managementType;
            OapiChatCreateResponse response = client.Execute(request, accessToken);

            return(response);
        }