Войдите на сторонний сайт с токеном подлинности - PullRequest
0 голосов
/ 22 февраля 2019

Я безуспешно пытаюсь войти на веб-сайт, используя Google Apps Script, чтобы загрузить какой-нибудь CSV-файл и проанализировать страницу.Тем не менее, этот сайт, похоже, использует маркер подлинности в форме отправки.Все примеры, кроме одного, который я нашел в Интернете, касаются простого случая, когда достаточно просто ввести имя пользователя и пароль или передать cookie.Однако я не могу понять, как адаптировать пример, который обращается к токену.

Сначала я сделал что-то вроде:

var payload = {
    "user[username]":"username",
    "user[password]":"password"
  };       
var opt ={
    "method":"post",
    "payload":payload, 
    "followRedirects" : false
  };
var url = "https://www.somethirdpartysite.com/users/sign_in"
var loginResponse = UrlFetchApp.fetch(url, opt);
Logger.log(loginResponse.getResponseCode());

Ответом был код 200 (не вошел в систему).

Я обнаружил, что мне может понадобиться использовать файл cookie для следующего запроса:

var sessionDetails = loginResponse.getAllHeaders()['Set-Cookie'];
var hearders = { 
    "Cookie" : sessionDetails
}
var optionsCsv = {
  "headers" : headers,
  "method" : "post"
}
var downloadCsvResponse = UrlFetchApp.fetch(urlToCsv, optionsCSV);
Logger.log(downloadCsvResponse.getContentText())

Однако ответом было 200 кодов.

Ссылка ссылка о токене подлинности.

...