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

请求协助将指定cURL转换为Google App Script的UrlFetchApp代码

如何将PayPal的cURL请求转换为Google Apps Script的UrlFetchApp调用

我帮你把这段PayPal沙箱API的cURL请求转换成可用的Google Apps Script代码,同时拆解每一部分的对应关系,方便你理解和调试:

function fetchPayPalActivities() {
  // 1. 构建请求URL,包含所有查询参数
  const url = "https://api.sandbox.paypal.com/v1/activities/activities?start_time=2012-01-01T00:00:01.000Z&end_time=2014-10-01T23:59:59.999Z&page_size=10";
  
  // 2. 配置请求选项,对应cURL里的头信息和请求方法
  const options = {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer YOUR_ACTUAL_ACCESS_TOKEN" // 替换成你的有效沙箱Access-Token
    },
    muteHttpExceptions: true // 开启这个可以捕获HTTP错误,方便调试
  };

  try {
    // 3. 发送请求并处理响应
    const response = UrlFetchApp.fetch(url, options);
    const responseCode = response.getResponseCode();
    const responseText = response.getContentText();

    // 打印响应信息,方便调试
    Logger.log(`响应状态码: ${responseCode}`);
    Logger.log(`响应内容: ${responseText}`);

    // 如果响应是JSON格式,可以解析成对象
    if (response.getHeaders()["Content-Type"]?.includes("application/json")) {
      const data = JSON.parse(responseText);
      Logger.log("解析后的JSON数据:", data);
    }
  } catch (e) {
    // 捕获并打印错误信息
    Logger.log("请求出错:", e.toString());
  }
}

代码对应cURL的关键点说明:

  • url 直接对应cURL里的GET请求地址,包含所有查询参数(start_time、end_time、page_size)
  • options.method: "GET" 对应cURL里的 -X GET
  • options.headers 对应cURL里的 -H 头信息,注意把YOUR_ACTUAL_ACCESS_TOKEN替换成你从PayPal沙箱获取的有效令牌
  • muteHttpExceptions: true 是很实用的调试选项,它会让UrlFetchApp不直接抛出HTTP错误,而是返回错误响应,方便你查看具体的错误信息

调试和排错建议:

  • 检查令牌有效性:确保你的Access-Token是PayPal沙箱环境的,并且没有过期(PayPal的令牌通常有效期是8小时)
  • 查看响应详情:运行脚本后,打开脚本编辑器的「查看」>「日志」,查看响应状态码和内容,比如401代表令牌无效,403代表权限不足,400代表参数格式错误
  • 验证参数格式:确认start_time和end_time的ISO 8601格式是否正确,PayPal API对时间格式有严格要求
  • 权限授权:第一次运行脚本时,需要授权Google Apps Script访问外部网址,按照提示完成授权即可

学习方向:

  1. Google Apps Script基础:重点学习UrlFetchApp的用法,包括请求配置、响应处理、错误捕获等
  2. PayPal API文档:仔细查看PayPal沙箱/v1/activities/activities接口的官方说明,确认请求参数、权限范围、响应格式等要求
  3. 调试技巧:熟练使用Logger.log()或新编辑器的console.log()来打印中间结果,帮助定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:33:49