【GAS 】set-cookieが複数ある時の特定の値の取り方
現在の状況
GASを使ったloginの実験をしています。
色んなサイトを参考に以下のコードとなりました。
chromeのデベロッパー→networkで実際にログインをすると
set-cookieの中に、accessTokenやaccessTokenSecretの値がありそれを使えばログインができそうです。
ただset-cookieが複数あるので、下のコードで
return response.getHeaders()["Set-Cookie"];
をしても画像の一番下のacp=deletedの値しか取れないです。
accessTokenが入ってるset-cookieを取りたい場合、どう修正したら良いでしょうか
function routine1() {
//ログインURL
const url = 'https://typing.twi1.me/user/login-mail/';
//ログイン後の遷移先URL
const contentUrl = 'https://typing.twi1.me/user/first-step'
//ログイン時のレスポンスヘッダーにあるSet-Cookieデータを取得
const cookie = login(url);
//ログイン後の遷移先ページのHTMLデータを取得
const content = getContent(contentUrl, cookie)
console.log(content);
}
function login(url) {
//ログインID及びパスワード
const formData = {
"accountId": "メールアドレス",
"acp": "パスワード"
}
//UrlFetchAppのオプション
const options = {
"method": "POST",
"payload": formData,
"followRedirects": false
};
//データを取得
const response = UrlFetchApp.fetch(url, options);
//レスポンスヘッダーにあるSet-Cookieデータを取得
return response.getHeaders()["Set-Cookie"]; // cookie
}
function getContent(url, cookie) {
//Set-Cookieデータをヘッダーに追加
const headers = { 'Cookie': cookie };
//UrlFetchAppのオプション
var options = {
method: 'GET',
headers: headers,
followRedirects: false,
};
//データを取得
const response = UrlFetchApp.fetch(url, options);
return response.getContentText();
}
0