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

如何使用PHP的cURL调用Google Script Web App?

PHP cURL调用Google Apps Script Web App 解决方案

你的现有配置与代码

先整理下你已经完成的部分:

Google Apps Script 代码

function doGet() { 
  return ContentService.createTextOutput("Hello World"); 
}

Web App 发布设置

  • 执行身份:以你自身的身份执行
  • 访问权限:允许域内所有用户运行

当前编写的PHP cURL代码(未完成)

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'google web app script link'); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
curl_setopt($ch, CURLOPT_FOLLOWLO...

完整可运行的PHP cURL代码

我帮你补全并优化了cURL代码,添加了必要的选项来处理Web App的重定向和结果返回:

<?php
// 替换成你实际的Google Web App部署链接
$webAppUrl = 'https://script.google.com/macros/s/你的部署ID/exec';

$ch = curl_init($webAppUrl);

// 核心配置选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 把响应结果返回给变量,而非直接输出
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 自动跟随Google Web App可能的重定向
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 生产环境建议保持开启,确保SSL安全
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 设置超时时间,避免无限等待

// 执行请求
$response = curl_exec($ch);

// 检查请求是否出错
if (curl_errno($ch)) {
    echo "cURL请求错误: " . curl_error($ch);
} else {
    // 输出Web App返回的内容
    echo "Web App响应: " . $response;
}

// 关闭cURL会话
curl_close($ch);
?>

关键注意事项

  1. 权限问题排查
    因为你设置了「允许域内所有用户运行」,如果你的PHP服务器不在域内,或者调用时没有携带域内用户的身份凭证,会收到权限拒绝的响应。

    • 测试阶段可以临时把Web App访问权限改为「任何人,甚至匿名」,确认调用正常后再改回域内限制。
    • 如果需要保持域内限制,你需要在cURL请求中添加OAuth2身份验证头(需要额外配置Google OAuth2客户端,获取访问令牌)。
  2. Web App链接格式
    确保你的链接是正确的部署链接,格式为:https://script.google.com/macros/s/[你的部署ID]/exec,不要使用编辑器里的测试链接。

内容的提问来源于stack exchange,提问作者Russ B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:29:05