Как получить URL загруженного файла из Google Cloud Storage с помощью Google App Script - PullRequest
0 голосов
/ 30 мая 2019

Я создаю продукт 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?Любой совет приветствуется!

1 Ответ

0 голосов
/ 05 июня 2019

Учебное пособие: https://medium.com/google-cloud/google-cloud-storage-signed-urls-in-apps-script-161b74a9c5e7.

. Документы для создания ключа учетной записи службы с помощью консоли GCP: https://cloud.google.com/iam/docs/creating-managing-service-account-keys.

...