Как использовать UrlFetchApp с учетными данными? Google Scripts

Я пытаюсь использовать Google Scripts UrlFetchApp для доступа к веб-сайту с базовым именем пользователя и паролем. Как только я подключаюсь к сайту, появляется всплывающее окно, требующее аутентификации. Я знаю логин и пароль, но не знаю, как передать их в UrlFetchApp.

var response = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000 /");
Logger.log (response.getContentText ("UTF-8"));

В данный момент запущенный код возвращает "Отказано в доступе". Приведенный выше код не содержит фактического адреса, к которому я подключаюсь в целях безопасности. "T" отсутствует во всех "http" в примерах кода, потому что они обнаруживаются как ссылки, и Stackru не позволяет мне отправлять более двух ссылок.

Как я могу передать логин и пароль вместе с моим запросом? Также есть ли способ продолжить сеанс после входа в систему? Или мой следующий запрос UrlFetchApp будет отправлен с другого сервера Google, требующего повторной регистрации?

Цель здесь - войти на веб-сайт за сетевой инфраструктурой Google s, чтобы он мог выступать в качестве прокси-сервера, затем мне нужно отправить еще один запрос UrlFetchApp на тот же адрес, который будет выглядеть примерно так:

var response = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000 / vuze / rpc? json = {" method ":" torrent-add "," arguments ": {" filename ":" htp: // vodo.net / СМИ / торренты /anything.torrent" "скачать-Dir":"C:\ Temp"}}");
Logger.log (response.getContentText ("UTF-8"));

2 ответа

Решение

На этот вопрос ответили еще на одном, где. Вот резюме:

Брюс Макферсон

basic authentication looks like this...
    var options = {};
    options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};

Ленни Каннингем

//Added Basic Authorization//////////////////////////////////////////////////////////////////////////////////////////

  var USERNAME = PropertiesService.getScriptProperties().getProperty('username');
  var PASSWORD = PropertiesService.getScriptProperties().getProperty('password');

  var url = PropertiesService.getScriptProperties().getProperty('url');//////////////////////////Forwarded

Порты в WebRelay

  var headers = {
    "Authorization" : "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD)
  };

  var params = {
    "method":"GET",
    "headers":headers
  };

var reponse = UrlFetchApp.fetch(url, params);

Мне не удалось найти исходные ссылки user3586062(возможно, они были удалены), но при использовании подхода Брюса Макферсона ваш код выглядел бы так:

var options = {};
options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};
UrlFetchApp.fetch("TARGET URL GOES HERE", options);
Другие вопросы по тегам