Yahoo!プロモーション広告(YSS・YDN)の管理画面に、GASを使ってログインしようと試みているのですが、
ログインページから先のページに遷移することができない状態です。
過去の、こちらのサイトの投稿(https://teratail.com/questions/157194)から、
Rubyでのログイン方法が掲載されていたのですが、GASに応用することができず困っております。。
下記のコードでは、ログインページ遷移後に、
レポートのダウンロードリンクからcsvファイルをスプレッドシートに転記するものとなりますが、
ひとまずログインをしたいと考えております。
function scriping() { // ログインページ var LOGIN_URL1 = "https://login.bizmanager.yahoo.co.jp/login" var LOGIN_URL2 = "https://login.bizmanager.yahoo.co.jp/login.php"; //post投げるURL // CSVファイルダウンロード先のリンク var CSV_DOWNLOAD_URL = "******"; // ログインID var id = "AAAAAAA"; // パスワード var password = "aaaaaaa"; var options = { method : "post", followRedirects: true, payload : { user_name: id, password: password } }; // ログインフォームを踏む(crumb対策のため) UrlFetchApp.fetch(LOGIN_URL1); // ログイン(post投げる) var response = UrlFetchApp.fetch(LOGIN_URL2, options); var headers = response.getAllHeaders(); var cookies = []; if ( typeof headers['Set-Cookie'] !== 'undefined' ) { var cookies = typeof headers['Set-Cookie'] == 'string' ? [ headers['Set-Cookie'] ] : headers['Set-Cookie']; for (var i = 0; i < cookies.length; i++) { cookies[i] = cookies[i].split( ';' )[0]; }; } var options2 = { method : "get", followRedirects: false, headers : { Cookie: cookies.join(';') } }; // CSVファイル取得 response = UrlFetchApp.fetch(CSV_DOWNLOAD_URL, options2); var data = response.getContentText("UTF-8"); // スプレッドシートへの書き込み var spreadsheetObj = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheetObj.getSheetByName("csv"); var csv = Utilities.parseCsv(data); sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv); } //このコードだと上手くいかず、スプレッドシートにはログインフォームのhtmlソースが転記されてしまう。。。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/23 05:18
2019/06/23 22:44