Я пытаюсь вызвать HPQC API для получения некоторых отчетов, но я не могу получить файл cookie QCsession, когда я вызываю / qcbin / rest / site-session. Я успешно прошел аутентификацию с помощью / qcbin / authentication-point / authenticate, но я застрял на следующем этапе.
Не то чтобы я мог без проблем использовать API с Почтальоном, но мой скрипт Google не работает.
Вот посмотрите на мой звонок:
var headers = { "Accept":"application/xml",
"Content-Type":"application/xml",
"method": "POST",
"headers" : {"Authorization": digestfull },
"muteHttpExceptions": true
};
var resp = UrlFetchApp.fetch(url,headers);
var cookie = resp.getAllHeaders();//['Set-Cookie'];//.split(';')[0].toString();
Logger.log(cookie);
//Get session cookie
param = "/hp/rest/site-session";
var url2 = hpqc + param + api_key;
var payload = "<session-parameters><client-type>REST Client</client-type></session-parameters>";
var headers2 = { "Accept":"application/json",
"Content-Type":"application/xml",
"method": "POST",
"muteHttpExceptions" : true,
"cookie" : cookie,
"body" : payload
};
resp = UrlFetchApp.fetch(url2,headers2);
Первый вызов работает нормально, но второй дает мне следующий ответ:
<code><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 401 Authentication failed. Browser based integrations - to login append '?login-form-required=y' to the url you tried to access.</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /qcbin/rest/site-session. Reason:
<pre> Authentication failed. Browser based integrations - to login append '?login-form-required=y' to the url you tried to access.
Работает на причале: // <час />
Кажется, файлы cookie отправлены неправильно.
Не могли бы вы помочь мне выяснить, что не так с моим кодом? Извините, если это слишком очевидно, я учусь использовать скрипт Google.
Спасибо