📜  google scripts urlfetchapp 听众和正文 - Javascript (1)

📅  最后修改于: 2023-12-03 14:41:36.282000             🧑  作者: Mango

使用 Google Scripts 中的 UrlFetchApp 进行 HTTP 请求

Google Scripts 是一种 JavaScript 执行环境,使用 Google 所提供的资源可以创建类似于服务器端的应用程序。它支持许多 Google 服务,如 Google Sheets、Google Drive、Gmail、Google Analytics 等等。

当你需要从你的 Google Scripts 应用中向外部服务发出请求时,UrlFetchApp 可以帮助你完成这个任务。UrlFetchApp 是 Google Scripts 提供的内置类,它允许你与 Web 上的其他资源进行通信并获取响应。

如何使用 UrlFetchApp 进行请求?

在使用 UrlFetchApp 时,需要使用 fetchData() 方法来发送 HTTP 请求。

// 创建 UrlFetchApp 对象
const fetcher = UrlFetchApp.fetch(url, options);
// 发送 HTTP GET 请求
const response = fetcher.fetchData();

其中的 url 参数是你要请求的 URL,而 options 参数是一个包含请求中的各种参数的对象。例如:

const options = {
  'method': 'get',
  'headers': {
    'Authorization': 'Bearer ' + accessToken
  },
  'contentType': 'application/json',
  'payload': JSON.stringify({
    'search_term': 'example'
  })
};

在这个例子中,我们指定了 HTTP 请求的方法为 get,还添加了一个授权头 Authorization,并在 payload 中添加了一个 JSON 对象。

UrlFetchApp 的 HTTP 请求方法

UrlFetchApp 支持各种 HTTP 请求方法,包括 GET、POST、PUT、DELETE 等等。

以下是使用 UrlFetchApp 进行 HTTP GET 请求的示例代码:

const response = UrlFetchApp.fetch(url);

以下是使用 UrlFetchApp 进行 HTTP POST 请求的示例代码:

const options = {
  'method': 'post',
  'contentType': 'application/json',
  'payload': JSON.stringify({
    'search_term': 'example'
  })
};
const response = UrlFetchApp.fetch(url, options);
处理响应数据

当你发送请求后,UrlFetchApp 会返回一个 HTTP 响应对象。你可以通过该对象的方法来获取响应中的数据,方法如下:

  • getContentText(): 获取响应中的文本内容。
  • getContent(): 获取响应中的二进制内容。
  • getHeaders(): 获取响应头中的属性列表。
  • getResponseCode(): 获取响应中的 HTTP 状态码。

下面是一个示例:

const response = UrlFetchApp.fetch(url);
const content = response.getContentText();
const statusCode = response.getResponseCode();
console.log(content);
console.log(statusCode);

以上就是使用 Google Scripts 中的 UrlFetchApp 进行 HTTP 请求的一些基础知识。使用它,你可以轻松地与 Web 上的其他资源进行通信并获取响应。