var cryptor = new WXBizMsgCrypt(TOKEN, EncodingAESKey, APPID);
var data = `<xml><managerid><![CDATA[平台管理员ID]]></managerid><skill><skillname><![CDATA[技能名称1]]></skillname><title><![CDATA[标准问题2]]></title><question><![CDATA[相似问题1]]></question><question><![CDATA[相似问题2]]></question><question><![CDATA[相似问题3]]></question><answer><![CDATA[1]]></answer><answer><![CDATA[2]]></answer></skill><skill><skillname><![CDATA[技能名称1]]></skillname><title><![CDATA[标准问题3]]></title><question><![CDATA[相似问题1]]></question><answer><![CDATA[1]]></answer></skill></xml>`
var encrypted = cryptor.encrypt(data);
curl -X post -d '{"encrypt": encrypted}' "https://openai.weixin.qq.com/openapi/batchimportskill/{TOKEN}"
你好,请先参考文档:https://developers.weixin.qq.com/doc/aispeech/platform/skill/publish_progress.html
若还有问题麻烦提供下用户ID和机器人ID
机器人Id : unusual9694c
正解:注意官方文档中的encrypt,不是将整个加密后的xml赋值给encrypt,而是将encrypt字段作为encrypt的值
例如得到的加密xml为:
<xml> <Encrypt> <![CDATA[OyxEyYR5Q7jeLkV6tBmuNPpYyCvIMt55LXFrw3qxlk1NDndi3J1/34TMtWKrSyRgeKfh+sbjXXwKXcVUOC5r9......N3st3MW6O]]> </Encrypt> <MsgSignature> <![CDATA[69949b3a868b2ec07f04059abc3084126132952f]]> </MsgSignature> <TimeStamp>1651851331</TimeStamp> <Nonce> <![CDATA[1320562132]]> </Nonce> </xml>
则只需要将一下内容赋值给encrypt
OyxEyYR5Q7jeLkV6tBmuNPpYyCvIMt55LXFrw3qxlk1NDndi3J1/34TMtWKrSyRgeKfh+sbjXXwKXcVUOC5r9......N3st3MW6O
官方文档成功误导了一大批开发者
var cryptor = new WXBizMsgCrypt(TOKEN, EncodingAESKey, APPID); var data = `<xml> <managerid><![CDATA[平台管理员ID]]></managerid> <skill> <skillname><![CDATA[技能名称1]]></skillname> <title><![CDATA[标准问题2]]></title> <question><![CDATA[相似问题1]]></question> <question><![CDATA[相似问题2]]></question> <question><![CDATA[相似问题3]]></question> <answer><![CDATA[1]]></answer> <answer><![CDATA[2]]></answer> </skill> <skill> <skillname><![CDATA[技能名称1]]></skillname> <title><![CDATA[标准问题3]]></title> <question><![CDATA[相似问题1]]></question> <answer><![CDATA[1]]></answer> </skill> </xml>` var encrypted = cryptor.encrypt(data); curl -X post -d '{"encrypt": encrypted}' "https://openai.weixin.qq.com/openapi/batchimportskill/{TOKEN}"