結局、自分の勘違いでうまく動いていなかっただけで、単純に
①自動ログイン
②Cookie継承
③Cookie付きでDLしたいページに移動
④DLページにあるDLPOST情報をもらって
⑤DLPOST情報付けて送信
⑥BLOB情報をドライブに保存
で行けました。
もっとスマートなやり方たくさんあるんだと思いますが、とりあえず動きそうなので
OKかなと。
GAS
1function gas_login(){
2 var login_url = "____________________";
3 var staySecond = 3;
4 //ログイン情報(PayLoadデータ)
5 var payload_data = {
6 log:'____________________',
7 pwd:'____________________'
8 };
9
10 //POSTデータ(POSTオプション)
11 var post_option = {
12 method: "post",
13 payload: payload_data,
14 followRedirects: false
15 };
16
17 //レスポンス(POSTリクエスト)
18 var response = UrlFetchApp.fetch(login_url, post_option);
19 Utilities.sleep(staySecond * 1000);
20
21 //レスポンスのヘッダーからcookieを取得
22 var cookies = response.getHeaders()["Set-Cookie"];
23 var headers = {"Cookie":cookies};
24 var post_option2 = {
25 method: "post",
26 headers: headers,
27 payload: payload_data,
28 followRedirects: false
29 }
30 var scraping_url = "____________________";
31
32 // ダウンロード対象ページのページ情報を要求
33 response = UrlFetchApp.fetch(scraping_url, post_option2);
34 Utilities.sleep(staySecond * 1000);
35
36 var responseHeaders = response.getAllHeaders()['Link'];
37
38 // 正規表現で数字部分を抽出
39 var regex = /\d+/g;
40 var matches = responseHeaders.match(regex);
41
42 // 配列の最後の要素が目的の数字
43 var idNumber = matches[matches.length - 1];
44
45 // 確認用にログに出力
46 Logger.log(idNumber);
47
48 // // ログインで認証されたcookieはヘッダーで使用
49 var headers = {
50 "Cookie": cookies
51 };
52
53 var payload_data3 = {
54 filepath: "____________________",
55 authType: "____________________",
56 post: "____________________",
57 Id: idNumber,
58 dl: "DL"
59 }
60 var post_option3 = {
61 method: "post",
62 headers: headers,
63 payload: payload_data3,
64 followRedirects: true,
65 };
66 var scraping_url = "____________________";
67
68 response = UrlFetchApp.fetch(scraping_url, post_option3);
69 Utilities.sleep(staySecond * 1000);
70
71 var contentResponse = response.getResponseCode();
72 var fileBlob = response.getBlob().setName('____________________');
73
74 DriveApp.createFile(fileBlob);
75 Logger.log(contentResponse);
76}