在谷歌应用脚本(Google Apps Script)中,你可以使用 UrlFetchApp
服务来执行类似 cURL 的 HTTP 请求。UrlFetchApp
提供了简单易用的方法来发送 GET、POST、PUT、DELETE 等 HTTP 请求,并处理响应。
以下是一些常见的示例:
function sendGetRequest() {
var url = "https://api.example.com/data";
var response = UrlFetchApp.fetch(url);
var responseData = response.getContentText();
Logger.log(responseData);
}
function sendPostRequest() {
var url = "https://api.example.com/data";
var payload = {
key1: "value1",
key2: "value2"
};
var options = {
method: "post",
payload: JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(url, options);
var responseData = response.getContentText();
Logger.log(responseData);
}
function sendRequestWithHeaders() {
var url = "https://api.example.com/data";
var headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
};
var options = {
method: "get",
headers: headers
};
var response = UrlFetchApp.fetch(url, options);
var responseData = response.getContentText();
Logger.log(responseData);
}
UrlFetchApp.fetch
方法返回一个 HTTPResponse
对象,你可以从中获取以下信息:
getContentText()
:获取响应的文本内容。getBlob()
:获取响应的二进制数据(例如图片)。getResponseCode()
:获取 HTTP 响应码(如 200、404 等)。getHeaders()
:获取响应头信息。在实际应用中,你应该添加适当的错误处理逻辑:
function sendRequestWithErrorHandling() {
try {
var url = "https://api.example.com/data";
var response = UrlFetchApp.fetch(url);
if (response.getResponseCode() === 200) {
var responseData = response.getContentText();
Logger.log(responseData);
} else {
Logger.log("请求失败,状态码:" + response.getResponseCode());
}
} catch (e) {
Logger.log("发生错误:" + e.message);
}
}
通过这些示例,你应该能够在谷歌应用脚本中使用 UrlFetchApp
来执行各种 HTTP 请求,类似于在命令行中使用 cURL。
领取专属 10元无门槛券
手把手带您无忧上云