Я создаю продукт Google App Script, который загружает PDF-файл в Google Cloud Storage, и он работает очень хорошо (благодаря этому учебнику ).Но я не могу получить URL загруженного файла.
Это моя uploadFileToGCS()
функция:
function uploadFileToGCS() {
var service = getService();
if (!service.hasAccess()) {
Logger.log("Please authorize %s", service.getAuthorizationUrl());
return;
}
var blob = DriveApp.getFileById(params.DRIVE_FILE).getBlob();
var bytes = blob.getBytes();
var url = 'https://www.googleapis.com/upload/storage/v1/b/BUCKET/o?uploadType=media&name=FILE'
.replace("BUCKET", params.BUCKET_NAME)
.replace("FILE", encodeURIComponent(params.FILE_PATH));
var response = UrlFetchApp.fetch(url, {
method: "POST",
contentLength: bytes.length,
contentType: blob.getContentType(),
payload: bytes,
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
}
});
var result = JSON.parse(response.getContentText());
Logger.log(JSON.stringify(result, null, 2));
}
И журнал ответов: Logger.log(JSON.stringify(result, null, 2));
19-05-29 21:28:19:726 PDT] {
"kind": "storage#object",
"id": "bucket_name/folder_name/file_name.pdf/1559190499625016",
"selfLink": "https://www.googleapis.com/storage/v1/b/bucket_name/o/folder_name/file_name.pdf",
"name": "folder_name/file_name.pdf",
"bucket": "bucket_name",
"generation": "1559190499625016",
"metageneration": "1",
"contentType": "application/pdf",
"timeCreated": "2019-05-30T04:28:19.624Z",
"updated": "2019-05-30T04:28:19.624Z",
"storageClass": "MULTI_REGIONAL",
"timeStorageClassUpdated": "2019-05-30T04:28:19.624Z",
"size": "101396",
"md5Hash": "hash",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/bucket_name/o/folder_name/file_name.pdf?generation=1559190499625016&alt=media",
}
, когда я нажимаю mediaLink
,браузер автоматически загружает мой файл PDF, это не я хочу.
Итак, как я могу получить загруженный URL-файл из Google Cloud Storage от GAS?Любой совет приветствуется!