Генерация подписей для AWS S3 в Google Scripts - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь сгенерировать подпись в Google Scripts без особой удачи.

Мой код выглядит следующим образом:

function getAwsData(){
  var AWS_SECRET = '[AWS_SECRET]';
  var expiresDt = Math.floor(Date.now() / 1000) + (60 * 60 * 24);
  var path = '/MYFOLDER/ACTIVATION.csv'
  var stringToSign = 'GET\n\n\n' + expiresDt + '\n' + path;
  var hmac = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_1, AWS_SECRET,stringToSign, Utilities.Charset.UTF_8);
  var signature = encodeURIComponent(Utilities.base64Encode(hmac));
  var response = UrlFetchApp.fetch("http://s3-ap-southeast-2.amazonaws.com/MYFOLDER/ACTIVATION.csv?AWSAccessKeyId=[AWS_ACCESS_ID]&Expires="+expiresDt+"&Signature="+signature);
  var csvData = Utilities.parseCsv(response, ",");
  console.log(csvData);
  }

Может кто-нибудь посмотреть, где я ошибся?Я следил за документом здесь: http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html

1 Ответ

0 голосов
/ 19 сентября 2018

Похоже, я неправильно подписываю hmac.

  var hmac = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_1, stringToSign, AWS_SECRET,Utilities.Charset.UTF_8);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...