其他
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
下載和上傳檔案
function sendHttpPost() {
// Download a file now (GET), so we can upload it in the HTTP POST below.
const response = UrlFetchApp.fetch('https://www.google.com/favicon.ico');
const fileBlob = response.getBlob();
const payload = {
'fieldOne' : 'value for field one',
'fieldTwo' : 'value for field two',
'fileAttachment': fileBlob
};
// Because payload is a JavaScript object, it will be interpreted as
// an HTML form. (We do not need to specify contentType; it will
// automatically default to either 'application/x-www-form-urlencoded'
// or 'multipart/form-data')
const options = {
'method' : 'post',
'payload' : payload
};
UrlFetchApp.fetch('http://example.com/upload_form.cgi', options);
}
壓縮和解壓縮檔案
function zipUnzip() {
const googleFavIconUrl = 'https://www.google.com/favicon.ico';
const googleLogoUrl = 'https://www.google.com/images/srpr/logo3w.png';
// Fetch the Google favicon.ico file and get the Blob data.
const faviconBlob = UrlFetchApp.fetch(googleFavIconUrl).getBlob();
const logoBlob = UrlFetchApp.fetch(googleLogoUrl).getBlob();
// zip now references a blob containing an archive of both faviconBlob and
// logoBlob.
const zip = Utilities.zip([faviconBlob, logoBlob], 'google_images.zip');
// This will now unzip the blobs.
const files = Utilities.unzip(zip);
}
剖析 CSV 檔案
function parseCsv() {
// This will create a 2 dimensional array of the format
// [[a, b, c], [d, e, f]]
const csvString = 'a,b,c\nd,e,f';
const data = Utilities.parseCsv(csvString);
console.log(data);
}
function formatString() {
// You can use sprintf-like string formatting using '%'-style format
// strings.
// will be: '123.456000'
Utilities.formatString('%11.6f', 123.456);
// will be: ' abc'
Utilities.formatString('%6s', 'abc');
}
使用 Base64 編碼和解碼字串
function base64Encoding() {
// base64 encoding is used to encode binary data to a text format
// you may need to do this if your transfer method can't handle spaces,
// non-English characters, etc.
// We'll instantiate a blob here for clarity.
const blob = Utilities.newBlob('A string here');
// Let's return the blob data as a byte[].
const encoded = Utilities.base64Encode(blob.getBytes());
// This will log 'QSBzdHJpbmcgaGVyZQ=='
console.log(encoded);
const decoded = Utilities.base64Decode(encoded);
// This will log the original string.
console.log(Utilities.newBlob(decoded).getDataAsString());
}
取得包含日期 (採帳戶時區) 的字串
function getDateStringInTimeZone() {
// Default to the current date and time. For a particular date, pass a
// date string to new Date() such as
// "February 17, 2016 13:00:00 -0500". Always include a timezone
// specifier in the date string, or the date string may be interpreted
// using a different timezone than you intend.
const date = new Date();
// Default to the account timezone. To customize, see
// https://developers.google.com/google-ads/api/reference/data/codes-formats#timezone-ids
// e.g. const timezone = "Europe/Berlin"
const timeZone = AdsApp.currentAccount().getTimeZone();
// For other formats, see
// https://developers.google.com/apps-script/reference/utilities/utilities#formatdatedate-timezone-format
// If constructing a new date from the returned date string, be sure the
// format includes the time zone letter 'Z', or the date string may be
// interpreted using a different timezone than you intend.
const format = 'MMM dd, yyyy HH:mm:ss Z';
return Utilities.formatDate(date, timeZone, format);
}
擷取過去的日期
function getDateInThePast() {
// Number of milliseconds in a day.
const MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
// Default to the current date and time. For a particular date, pass a
// date string to new Date() such as
// "February 17, 2016 13:00:00 -0500". Always include a timezone
// specifier in the date string, or the date string may be interpreted
// using a different timezone than you intend.
const date = new Date();
// Number of days in the past.
const numDays = 3;
return new Date(date.getTime() - numDays * MILLIS_PER_DAY);
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-21 (世界標準時間)。
[null,null,["上次更新時間:2025-08-21 (世界標準時間)。"],[[["\u003cp\u003eUtilize the \u003ccode\u003eUrlFetchApp\u003c/code\u003e class to download and upload files, including handling file attachments in HTTP POST requests.\u003c/p\u003e\n"],["\u003cp\u003eEmploy the \u003ccode\u003eUtilities\u003c/code\u003e class to zip and unzip files, enabling efficient management of multiple files within scripts.\u003c/p\u003e\n"],["\u003cp\u003eParse CSV data into a 2-dimensional array using the \u003ccode\u003eUtilities.parseCsv()\u003c/code\u003e function, simplifying data extraction from CSV strings.\u003c/p\u003e\n"],["\u003cp\u003eFormat strings using the \u003ccode\u003eUtilities.formatString()\u003c/code\u003e function, providing control over string representation with format specifiers.\u003c/p\u003e\n"],["\u003cp\u003eEncode and decode data in base64 format with the \u003ccode\u003eUtilities.base64Encode()\u003c/code\u003e and \u003ccode\u003eUtilities.base64Decode()\u003c/code\u003e functions, enabling secure data handling within scripts.\u003c/p\u003e\n"],["\u003cp\u003eGet the current date and time in the user's account timezone and format it according to specified format using the \u003ccode\u003eUtilities.formatDate()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eCalculate and retrieve a date in the past by manipulating the current date and time using milliseconds.\u003c/p\u003e\n"]]],[],null,["# Miscellaneous\n\nDownload and upload a file\n--------------------------\n\n```gdscript\nfunction sendHttpPost() {\n // Download a file now (GET), so we can upload it in the HTTP POST below.\n const response = UrlFetchApp.fetch('https://www.google.com/favicon.ico');\n const fileBlob = response.getBlob();\n\n const payload = {\n 'fieldOne' : 'value for field one',\n 'fieldTwo' : 'value for field two',\n 'fileAttachment': fileBlob\n };\n\n // Because payload is a JavaScript object, it will be interpreted as\n // an HTML form. (We do not need to specify contentType; it will\n // automatically default to either 'application/x-www-form-urlencoded'\n // or 'multipart/form-data')\n\n const options = {\n 'method' : 'post',\n 'payload' : payload\n };\n\n UrlFetchApp.fetch('http://example.com/upload_form.cgi', options);\n}\n```\n\nZip and unzip a file\n--------------------\n\n```gdscript\nfunction zipUnzip() {\n const googleFavIconUrl = 'https://www.google.com/favicon.ico';\n const googleLogoUrl = 'https://www.google.com/images/srpr/logo3w.png';\n\n // Fetch the Google favicon.ico file and get the Blob data.\n const faviconBlob = UrlFetchApp.fetch(googleFavIconUrl).getBlob();\n const logoBlob = UrlFetchApp.fetch(googleLogoUrl).getBlob();\n\n // zip now references a blob containing an archive of both faviconBlob and\n // logoBlob.\n const zip = Utilities.zip([faviconBlob, logoBlob], 'google_images.zip');\n\n // This will now unzip the blobs.\n const files = Utilities.unzip(zip);\n}\n```\n\nParse a csv file\n----------------\n\n```gdscript\nfunction parseCsv() {\n // This will create a 2 dimensional array of the format\n // [[a, b, c], [d, e, f]]\n const csvString = 'a,b,c\\nd,e,f';\n const data = Utilities.parseCsv(csvString);\n console.log(data);\n}\n```\n\nFormat a string\n---------------\n\n```css+lasso\nfunction formatString() {\n // You can use sprintf-like string formatting using '%'-style format\n // strings.\n\n // will be: '123.456000'\n Utilities.formatString('%11.6f', 123.456);\n\n // will be: ' abc'\n Utilities.formatString('%6s', 'abc');\n}\n```\n\nbase64 encode and decode a string\n---------------------------------\n\n```gdscript\nfunction base64Encoding() {\n // base64 encoding is used to encode binary data to a text format\n // you may need to do this if your transfer method can't handle spaces,\n // non-English characters, etc.\n\n // We'll instantiate a blob here for clarity.\n const blob = Utilities.newBlob('A string here');\n\n // Let's return the blob data as a byte[].\n const encoded = Utilities.base64Encode(blob.getBytes());\n\n // This will log 'QSBzdHJpbmcgaGVyZQ=='\n console.log(encoded);\n\n const decoded = Utilities.base64Decode(encoded);\n\n // This will log the original string.\n console.log(Utilities.newBlob(decoded).getDataAsString());\n}\n```\n\nGet a string with the date in the account timezone\n--------------------------------------------------\n\n```gdscript\nfunction getDateStringInTimeZone() {\n // Default to the current date and time. For a particular date, pass a\n // date string to new Date() such as\n // \"February 17, 2016 13:00:00 -0500\". Always include a timezone\n // specifier in the date string, or the date string may be interpreted\n // using a different timezone than you intend.\n const date = new Date();\n\n // Default to the account timezone. To customize, see\n // https://developers.google.com/google-ads/api/reference/data/codes-formats#timezone-ids\n // e.g. const timezone = \"Europe/Berlin\"\n const timeZone = AdsApp.currentAccount().getTimeZone();\n\n // For other formats, see\n // https://developers.google.com/apps-script/reference/utilities/utilities#formatdatedate-timezone-format\n // If constructing a new date from the returned date string, be sure the\n // format includes the time zone letter 'Z', or the date string may be\n // interpreted using a different timezone than you intend.\n const format = 'MMM dd, yyyy HH:mm:ss Z';\n return Utilities.formatDate(date, timeZone, format);\n}\n```\n\nGet date in the past\n--------------------\n\n```gdscript\nfunction getDateInThePast() {\n // Number of milliseconds in a day.\n const MILLIS_PER_DAY = 1000 * 60 * 60 * 24;\n\n // Default to the current date and time. For a particular date, pass a\n // date string to new Date() such as\n // \"February 17, 2016 13:00:00 -0500\". Always include a timezone\n // specifier in the date string, or the date string may be interpreted\n // using a different timezone than you intend.\n const date = new Date();\n\n // Number of days in the past.\n const numDays = 3;\n\n return new Date(date.getTime() - numDays * MILLIS_PER_DAY);\n}\n```"]]