那些年我们一起踩过的坑(一)关于钉钉消息通知MediaId的坑

   最近在整理钉钉消息通知这块接口,调试设计的每个接口,但是在调图片这块的接口,调mediaid一直出错误(提示不合法,效果如下图)

在这里插入图片描述
官方给的sdk请求包体示例以及参数如下图:

起初我以为是钉钉官方sdk包的问题,我的access_token,type都是没有问题,就是media的问题,凭直觉,就一直要改media的东西。折腾了一下午还是没有找出问题,后来提交工单,官方回复请求地址需要拼接类型,看到这里我直接晕了,他的请求包体示例没有这没写,这样会坑太多人。

  修改后如下图所示(红框要尤为注意之后的语音,文件格式也是一样的,图片只能是JPG格式,语音只能AMR格式)

在这里插入图片描述
总结一下钉钉小程序微应用开发以来自己也遇到了很多坑,之后会把之前遇到的一些问题分享出来,一起回忆那些年我们一起踩过的坑!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 下面是一个使用Python编写的企业微信API接收消息的示例代码: ```python import json import requests from flask import Flask, request app = Flask(__name__) @app.route('/webhook', methods=['POST']) def webhook(): data = request.get_data() # 解析接收到的消息 msg = json.loads(data) # 获取消息类型 msg_type = msg.get('MsgType') # 处理不同类型的消息 if msg_type == 'text': content = msg.get('Content') # 获取消息内容 # 处理消息内容 # ... elif msg_type == 'image': media_id = msg.get('MediaId') # 获取图片MediaId # 处理图片消息 # ... # 其他消息类型的处理 return 'success' if __name__ == '__main__': app.run() ``` 上述代码使用了Flask框架搭建了一个用于接收企业微信消息的webhook接口。当接收到企业微信的消息时,会触发`/webhook`路由的POST请求。 代码中的`webhook`函数会获取POST请求中的消息数据,并将其转换为JSON格式。然后根据消息的类型进行处理,比如如果是文本消息,可以通过`msg.get('Content')`获取消息内容进行相应处理;如果是图片消息,可以通过`msg.get('MediaId')`获取图片MediaId。 最后,处理完消息后,返回"success"表示消息接收成功。 ### 回答2: 企业微信是一种企业级通信工具,它提供了API接口,可以通过编程语言进行消息的接收和处理。以下是一个使用Python编写的企业微信API接收消息的示例代码: ```python import json import requests def receive_message(): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/receive?key=your_webhook_key" response = requests.get(url) data = json.loads(response.text) message_type = data.get("type") if message_type == "text": message_content = data.get("text").get("content") # 对文本消息进行处理 # ... elif message_type == "image": message_url = data.get("image").get("url") # 对图片消息进行处理 # ... # 其他类型的消息同理 return "success" if __name__ == "__main__": receive_message() ``` 在上面的代码中,我们首先需要创建一个Webhook,获取到Webhook的key,并替换代码中的`your_webhook_key`。然后通过`requests`库发送GET请求,从企业微信服务器中获取到最新的消息数据。 接收到消息后,我们可以通过判断消息的类型,来进行不同类型消息的处理。例如,如果消息类型是文本类型,可以通过`data.get("text").get("content")`获取到消息的文本内容,并进行相应的处理。如果消息类型是图片类型,可以通过`data.get("image").get("url")`获取到图片的URL,并处理图片。 最后,返回一个`"success"`字符串表示消息接收成功。 ### 回答3: 企业微信提供了丰富的API接口,可以使用Python编程语言来接收企业微信的消息。以下是一个简单的Python代码示例: ```python import requests from flask import Flask, request app = Flask(__name__) @app.route('/wechat', methods=['POST']) def receive_message(): data = request.json msg_type = data['msg_type'] sender = data['sender'] content = data['content'] # 处理接收到的消息 # 可以根据消息类型进行不同的处理,如文本消息图片消息、视频消息等 # 返回响应给企业微信 return 'success' if __name__ == '__main__': app.run() ``` 这段代码使用了Flask框架来构建一个简单的HTTP服务端,监听 '/wechat' 路径的POST请求。当企业微信向该路径发送消息时,代码会从请求中获取到消息内容,并进行处理。处理完毕后,返回一个成功的响应给企业微信。 你可以根据实际需要对接收到的消息进行进一步处理,如解析消息内容、调用其他API接口等。另外,根据企业微信API的文档,也可以根据需要使用其他的Python库来实现接收消息的功能。 注意:为了让以上代码正常工作,你需要安装Flask库和requests库,并将其中的一些参数(如路由、消息处理逻辑、API调用等)根据实际情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值