Dify执行代码示例:把结果发的企业微信群中
解决dify报错:Output result is missing.(原来就是一个dify设置的问题,搞了我好久),功能说明:使用python,在输入框输入robotid,就可以往该企业微信群中发送消息。为啥写代码:现成的插件,因为默认的插件robotid不能变量赋值。答:main中定义+ dify的输入变量中设置好。1. 如何在dify的代码执行引入流程的变量,
·
功能说明:使用python,在输入框输入robotid,就可以往该企业微信群中发送消息。
为啥写代码:现成的插件,因为默认的插件robotid不能变量赋值
解决办法:还得是deepseek,虽然经常摸鱼不干活,但是最后还是它解决了此问题
发文原因:python代码和dify代码执行模块如何使用以及dify如何设置
踩坑日志:
1. 如何在dify的代码执行引入流程的变量,答:main中定义+ dify的输入变量中设置好
2. 总提示:Output result is missing.(原来就是一个dify设置的问题,搞了我好久),答:在dify中的输出变量中,设置代码你定义result的status、message以及error,而不是result
python示例:
def main(robot_key, markdown_content):
"""Dify 工作流入口函数
:param robot_key: 企业微信机器人Key
:param markdown_content: Markdown格式消息内容
:return: 包含执行状态的字典
"""
# 在函数内部导入模块(符合Dify规范)
import requests
import json
# 初始化返回结构
result = {
'status': 'success',
'message': None,
'error': None
}
try:
# 构造企业微信API地址
robot_url = f"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={robot_key}"
# 构建请求数据(修复点1:确保JSON格式化)
payload = {
"msgtype": "markdown",
"markdown": {
"content": markdown_content.strip()
}
}
# 发送请求(关键修复:闭合括号)
response = requests.post( # <-- 错误行修复
url=robot_url,
headers={'Content-Type': 'application/json'},
data=json.dumps(payload)
) # <-- 缺失的闭合括号在此补全
# 解析响应
response_data = response.json()
result['message'] = response_data.get('errmsg', '无错误信息')
# 检查企业微信API返回状态
if response_data.get('errcode') != 0:
result['status'] = 'error'
result['error'] = response_data.get('errmsg')
except Exception as e:
# 异常处理
result['status'] = 'error'
result['error'] = str(e)
return result
更多推荐
所有评论(0)