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

基于Python的Google Cloud Functions持续出现CORS问题,即使使用官方示例

Python版Google Cloud Functions CORS错误修复方案

问题根源

你的请求是POST方法且携带了Authorization头,但原Cloud Functions代码的预检(OPTIONS)响应存在两个关键问题:

  1. Access-Control-Allow-Methods仅允许GET,未包含POST
  2. Access-Control-Allow-Headers仅允许Content-Type,未包含请求中携带的Authorization头

修改后的Cloud Functions代码

import functions_framework

@functions_framework.http
def myFun(request):
    # 处理预检OPTIONS请求
    if request.method == "OPTIONS":
        headers = {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Methods": "POST, OPTIONS",
            "Access-Control-Allow-Headers": "Content-Type, Authorization",
            "Access-Control-Max-Age": "3600",
        }
        return ("", 204, headers)

    # 处理主POST请求
    headers = {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Headers": "Content-Type, Authorization"
    }
    
    # 可选:处理POST请求体,例如
    # request_data = request.get_json()
    return ("Hello World!", 200, headers)

额外检查项

  • 修改代码后必须重新部署Cloud Functions,确保新配置生效
  • 确认Next.js端的axios请求确实正确携带了Authorization和Content-Type头
  • 生产环境建议将Access-Control-Allow-Origin的*替换为你的Next.js域名,提升安全性

内容的提问来源于stack exchange,提问作者Hack-R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:57:21