You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将OpenAI API接入Zapier时出现语法错误问题排查

Zapier邮件摘要转WhatsApp代码语法错误修复

开发Zap实现邮件摘要通过WhatsApp发送时,两段代码分别触发语法错误(第一段第8行、第二段第9行),核心问题及修复方案如下:

错误核心原因

两段代码均使用了Jupyter Notebook专属的!pip install openai命令,这并非标准Python语法,在Zapier的Code by Zapier环境中会直接触发语法错误。此外Zapier环境已预安装常用第三方库,无需手动执行安装命令。


修正后的第一段代码

import openai

openai.api_key = '你的API密钥'

def summarize_text(text):
    try:
        response = openai.Completion.create(
            engine="text-davinci-002",
            prompt=f"Summarize this email content: {text}",
            max_tokens=150
        )
        return response.choices[0].text.strip()
    except Exception as e:
        return f"Error: {e}"

if 'input_data' in locals() and 'email_content' in input_data:
    email_content = input_data['email_content']
    summarized_text = summarize_text(email_content)
    return {'summarized_text': summarized_text}
else:
    return {'error': 'No email content provided'}

修改点:

  • 移除非法的!pip install openai命令
  • 优化prompt表述,明确要求模型对邮件内容生成摘要(原prompt直接传入原始文本易导致模型理解偏差)

修正后的第二段代码

import openai

openai.api_key = "你的API密钥"

# 从Zapier输入中获取邮件内容
if 'input_data' in locals() and 'email_content' in input_data:
    email_content = input_data['email_content']
    prompt = f"Summarize the email content: {email_content}"

    response = openai.Completion.create(
        engine="davinci",
        prompt=prompt,
        max_tokens=100,
        n=1,
        stop=None
    )

    output_text = response.choices[0].text.strip()
    return {"output_text": output_text}
else:
    return {"error": "No email content provided"}

修改点:

  • 移除非法的!pip install openai命令
  • 添加Zapier输入数据的判断与获取逻辑(原代码未接入实际邮件内容,无法生成有效摘要)
  • 对返回的摘要文本做去空格处理,优化输出格式
  • 补充异常场景的返回逻辑,避免无输入时出错

内容的提问来源于stack exchange,提问作者Shr Sup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:44:57