有人帮我看看吗?
公司想把通讯录回调事件放在钉钉上跑,感觉文档有些乱,这两天好不容易懂得什么意思了,可是注册回调的时候一直返回71009文本非success。看了很多回答好像都没有具体解决,有没有大佬可以帮忙看看?小官可以帮忙回答下吗?下面是我的代码……
string token = ConfigurationManager.AppSettings["DingDing.Token"];
string encodingAESKey = ConfigurationManager.AppSettings["DingDing.EncodingAESKey"];
string mSuiteKey = ConfigurationManager.AppSettings["DingDing.CorpId"];
//url中的签名
string msgSignature = Request["signature"];
//url中的时间戳
string timeStamp = Request["timestamp"];
//url中的随机字符串
string nonce = Request["nonce"];
//查看post的内容
string encryptStr = GetPostParam();
//构造DingTalkCrypt
DingTalkCrypt dingTalk = new DingTalkCrypt(token, encodingAESKey, mSuiteKey);
//解密后的原文
string plainText = "";
//解密
dingTalk.DecryptMsg(msgSignature, timeStamp, nonce, encryptStr, ref plainText);
Hashtable tb = (Hashtable)JsonConvert.DeserializeObject(plainText, typeof(Hashtable));
string eventType = tb["EventType"].ToString();
switch (eventType)
{
case "user_add_org"://通讯录用户增加 do something
break;
case "user_modify_org"://通讯录用户更改 do something
break;
case "user_leave_org"://通讯录用户离职 do something
break;
default:
break;
}
string encrypt = "";
string signature = "";
string res = "success";
dingTalk = new DingTalkCrypt(token, encodingAESKey, mSuiteKey);
//加密,对"success"字符串加密
dingTalk.EncryptMsg(res, timeStamp, nonce, ref encrypt, ref signature);
Hashtable jsonMap = new Hashtable
{
{"msg_signature", signature},
{"encrypt", encrypt},
{"timeStamp", timeStamp},
{"nonce", nonce}
};
string result = JsonConvert.SerializeObject(jsonMap);
Response.Write(result);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。