0

RequestMessage as RequestMessageEvent_Change_ExternalContact_Add 类型转换为null

微信开发 · zxz524 · 查看 2081 次 · 于 2年前

企业微信

               case Event.CHANGE_EXTERNAL_CONTACT://外部联系人事件相关
                   var cecRequestMessage = RequestMessage as IRequestMessageEvent_Change_ExternalContact_Base;
                   switch (cecRequestMessage.ChangeType)
                   {
                       case ExternalContactChangeType.add_external_contact:
                           responseMessage = OnEvent_ChangeExternalContactAddRequest(RequestMessage as RequestMessageEvent_Change_ExternalContact_Add);
                           break;
                       case ExternalContactChangeType.edit_external_contact:
                           OnEvent_ChangeExternalContactUpdateRequest(requestMessage as RequestMessageEvent_Change_ExternalContact_Modified);
                           break;
                       case ExternalContactChangeType.add_half_external_contact:
                           responseMessage = OnEvent_ChangeExternalContactAddHalfRequest(RequestMessage as RequestMessageEvent_Change_ExternalContact_Add_Half);
                           break;
                       case ExternalContactChangeType.del_external_contact:
                           responseMessage = OnEvent_ChangeExternalContactDelRequest(RequestMessage as RequestMessageEvent_Change_ExternalContact_Del);
                           break;
                       case ExternalContactChangeType.del_follow_user:
                           responseMessage = OnEvent_ChangeExternalContactDelFollowUserRequest(RequestMessage as RequestMessageEvent_Change_ExternalContact_Del_FollowUser);
                           break;
                       case ExternalContactChangeType.msg_audit_approved:
                           responseMessage = OnEvent_ChangeExternalContactMsgAudit(RequestMessage as RequestMessageEvent_Change_ExternalContact_MsgAudit);
                           break;
                       default:
                           throw new UnknownRequestMsgTypeException("未知的外部联系人事件Event.CHANGE_EXTERNAL_CONTACT下属请求信息", null);
                   }
                   break;

Senparc.Weixin.Work 类型转换返回都是null,
类名:Senparc.Weixin.Work.MessageHandlers.WorkMessageHandler
您尚未登录,请:网站登录 or 微信登录
共收到 9 条回复
0

Senparc 2年前

已经发布,非常感谢!

https://github.com/JeffreySu/WeiXinMPSDK/issues/2331

0

zxz524 2年前

https://github.com/JeffreySu/WeiXinMPSDK/blob/35688bfb56b1a796c0a8185986c4da5ab981b7d6/src/Senparc.Weixin.Work/Senparc.Weixin.Work/RequestMessageFactory.cs#L93   修改了代码,替换成下面的就可以了

                           switch (doc.Root.Element("ChangeType").Value.ToUpper())
                           {
                               case "ADD_EXTERNAL_CONTACT":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_Add();
                                   break;
                               case "ADD_HALF_EXTERNAL_CONTACT":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_Add_Half();
                                   break;
                               case "EDIT_EXTERNAL_CONTACT":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_Modified();
                                   break;
                               case "DEL_EXTERNAL_CONTACT":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_Del();
                                   break;
                               case "DEL_FOLLOW_USER":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_Del_FollowUser();
                                   break;
                               case "MSG_AUDIT_APPROVED":
                                   requestMessage = new RequestMessageEvent_Change_ExternalContact_MsgAudit();
                                   break;
                               default:
                                   requestMessage = new RequestMessageEventBase();
                                   break;
                           }

0

zxz524 2年前

RequestMessage as RequestMessageEvent_Change_ExternalContact_Add 类型转换后返回的是null,你们可以测试试一下

0

Senparc 2年前

这个接口应该是有处理的:
https://github.com/JeffreySu/WeiXinMPSDK/blob/35688bfb56b1a796c0a8185986c4da5ab981b7d6/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs#L150

0

zxz524 2年前

https://work.weixin.qq.com/api/doc/90000/90135/92130

0

Senparc 2年前

能提供一下你说的这个(或者几个)接口的对应的文档Url吗?我们定位核对一下。

0

zxz524 2年前

我现在是直接使用Senparc.Weixin.Work的源码做开发。是什么问题,有临时的解决方案吗?

0

zxz524 2年前

删除外部联系人:
<xml>
 <SuiteId><![CDATA[ww9a26d8dd96de2ca9]]></SuiteId>
 <AuthCorpId><![CDATA[wx52e8f516b7e12b16]]></AuthCorpId>
 <InfoType><![CDATA[change_external_contact]]></InfoType>
 <TimeStamp>1616468517</TimeStamp>
 <ChangeType><![CDATA[del_external_contact]]></ChangeType>
 <UserID><![CDATA[ST10002]]></UserID>
 <ExternalUserID><![CDATA[wmlcoYBwAA2T7F7Lk0FJToRQkOb5y1JQ]]></ExternalUserID>
</xml>


添加外部联系人:
<xml>
 <SuiteId><![CDATA[ww9a26d8dd96de2ca9]]></SuiteId>
 <AuthCorpId><![CDATA[wx52e8f516b7e12b16]]></AuthCorpId>
 <InfoType><![CDATA[change_external_contact]]></InfoType>
 <TimeStamp>1616470617</TimeStamp>
 <ChangeType><![CDATA[add_external_contact]]></ChangeType>
 <UserID><![CDATA[ST10002]]></UserID>
 <ExternalUserID><![CDATA[wmlcoYBwAA2T7F7Lk0FJToRQkOb5y1JQ]]></ExternalUserID>
 <WelcomeCode><![CDATA[96j3olTaO6NvaEYMIgaTCA3VN6_VhskmpIgPz8H4Fhg]]></WelcomeCode>
</xml>

1

Senparc 2年前

能不能从日志取一下解密后的Request的XML内容?


热门话题 更多 >>

sdk的配置文件更改位置

ylh0320 5 个回复 • 查看 1091 次 • 16天前

.netcore7菜单获取问题

wangbin5542 4 个回复 • 查看 251 次 • 113天前

菜单读取失败

Patrick 4 个回复 • 查看 268 次 • 113天前

获取支付校验出错

xiaosa1944 3 个回复 • 查看 316 次 • 90天前

小程序授权

fjl-net 3 个回复 • 查看 2879 次 • 120天前

Config.SenparcWeixinSetting.Items["xxx"]得不到值

donet520 3 个回复 • 查看 395 次 • 145天前

企业微信官方调整了用户和部门部分接口

qw4566540 2 个回复 • 查看 338 次 • 142天前

企业微信升级最新包项目启动异常

fan. 2 个回复 • 查看 490 次 • 92天前

微信公众号获取已发布列表,返回结果为空

torres 2 个回复 • 查看 313 次 • 111天前

tenpayv3 jsapi 报错,这个是怎么回事呢

xiaosa1944 2 个回复 • 查看 286 次 • 111天前

企业微信自建应用后台搭建

wangliangonline 2 个回复 • 查看 511 次 • 153天前

公众号自动回复多张图片

yuluo 1 个回复 • 查看 259 次 • 120天前

微信公众号 账号平台设置

dadi 1 个回复 • 查看 243 次 • 111天前

获取公众号菜单出错

xiaosa1944 1 个回复 • 查看 237 次 • 90天前

微信推送消息

chenzezhao 1 个回复 • 查看 250 次 • 104天前

企业微信审批模块审批状态推送事件

qq29366365 1 个回复 • 查看 351 次 • 183天前

个人信息
QQ群
  • 1群:300313885 (2000人群 已满)
  • 2群:293958349 (1000人群 已满)
  • 3群(公众号):342319110 Senparc.Weixin.MPSDK 3群
  • 4群:372212092 (500人群 已满)
  • 5群:377815480 (1000人群 已满)
  • 6群:425898825 (1000人群 已满)
  • 7群:482942254 (500人群 已满)
  • 8群:106230270 (500人群 已满)
  • 9群:539061281 (500人群 已满)
  • 10群(分布式缓存):246860933 Senparc.Weixin.Cache SDK 10群
  • 11群:553198593 (500人群 已满)
  • 12群(小程序):108830388 (2000人群 已满)
  • 13群(开放平台):183424136 (500人群 已满)
  • 14群(视频学员):588231256 Senparc.Weixin SDK 14群
  • 15群(综合):289181996 (500人群 已满)
  • 16群(开放平台):860626938 (500人群 已满)
  • 17群(小程序):770615466 [17群 开放平台]SenparcSDK
  • NCF 技术交流群:147054579 SCF 开发交流群
微信开发宝典:《微信开发深度解析》

由 Senparc.Weixin SDK 作者耗时两年完成的微信开发图书《微信开发深度解析:公众号、小程序高效开发秘籍》已经出版!

历经2年精心雕琢,难得的“理论 + 实战案例 + 趟坑经验”总结,
从需求分析、策划,到账号申请、验证,再到全面的 API 及开发工具,
覆盖所有开发微信公众号(含订阅号、服务号和小程序)所需关键技能!

视频教程:《微信公众号+小程序快速开发》

由盛派课堂(盛派旗下独立教育品牌)制作,《微信开发深度解析》作者苏震巍先生主讲的《微信公众号+小程序快速开发》视频课程开课啦!

课程采用“理论+实战”的教学形式,结合部分《微信开发深度解析》内容,独立于书本,包含了更多的操作演示和案例展示,帮助大家从多个维度学习微信开发以及.NET开发过程中的诸多技巧。
课程包含两大部分:
1. 微信开发基础技能
2. 公众号及小程序案例实战
共计60课时,配有番外篇,目前视频已在网易云课堂上线。