<%@ WebHandler Language="C#" Class="loadUsers" %> using System; using System.Web; using System.IO; using System.Xml; using eMIS.Data; using System.Data; using Dingtalk; /* * * * cjx@2019/7/9 * * 下载钉钉企业号中的用户列表,保存到本地数据库,通过手机号码/邮箱地址与本地用户建立映射关系 * */ public class loadUsers : IHttpHandler { public void ProcessRequest(HttpContext context) { try { eDbManager manager = new eDbManager(WebConfigManager.DefaultDb); eDbOperator dbo = manager.CreateDbOperator(); Dingtalk.Dingding dd = new Dingding(context); dd.Messager.GetAccesstoken(); DataTable table = dd.GetUsers(); dbo.ExecuteNonQuery("update XT_DingTalk_users set d_status=0"); DataTable dTable = dbo.ExecuteTable("select UserID,USERNAME,D_PHONE,D_EMAIL,D_STATUS FROM XT_DingTalk_Users where 1=2"); foreach (DataRow row in table.Rows) { DataRow r = dTable.NewRow(); r["userid"] = row["userid"]; r["Username"] = row["name"]; r["d_phone"] = row["mobile"]; r["d_email"] = row["email"]; r["d_status"] = 1; dTable.Rows.Add(r); } dbo.Write(dTable, "XT_DingTalk_users", "userid"); context.Response.ContentType = "text/plain"; context.Response.Write("ok"); } catch (Exception ex) { context.Response.ContentType = "text/plain"; context.Response.Write(ex.Message); } } public bool IsReusable { get { return false; } } }