前提・実現したいこと
gasでtwitterにログインしてhtmlを取得
(apiは使わない)
参考にしたサイト
発生している問題・エラーメッセージ
htmlが取得できない。
gasで取得したcookieとchromeの検証から見たcookieが異なるのが原因だと思う
ユーザー名とパスワードをname=""で得た情報でポストしたけれど、ここが間違っているのかもしれない。
該当のソースコード
gas
1function myFunction() { 2 // POSTデータ 3 var payload = { 4 "session[username_or_email]" : "", 5 "session[password]" : "", 6 } 7 // POSTオプション 8 var options = { 9 "method" : "POST", 10 "payload" : payload, 11 "followRedirects" : false 12 } 13 14 // アクセス先 15 var url = "https://twitter.com/sessions" 16 // POSTリクエスト 17 var response = UrlFetchApp.fetch(url, options); 18 19 // レスポンスヘッダーからcookieを取得 20 var cookies = response.getAllHeaders(); 21 //var cookies = response.getAllHeaders()["Set-Cookie"]; 22 Logger.log(cookies) 23 24 // ログインで認証されたcookieはヘッダーで使用 25 var headers = { 'Cookie' : cookies }; 26 options = { 27 method : "get", 28 headers : headers, 29 followRedirects: true, //リダイレクトあり 30 }; 31 32 var topUrl = "https://twitter.com/" 33 response = UrlFetchApp.fetch(topUrl, options); 34 var content = response.getContentText("UTF-8"); 35 36 Logger.log(content) 37 38}
試したこと
レスポンスヘッダーを全てcookieとしてリクエストする
補足情報(FW/ツールのバージョンなど)
twitterのアカウントが無いとできない
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/07 05:50