1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Gmailのスレッド表示のON/OFFを簡単に切り替える(試行錯誤中)

Last updated at Posted at 2015-01-15

Gmail概ね満足してるんだけど、スレッド表示のON/OFF切り替えが超面倒なのなんとかならんかね?基本はスレッドでいいんだけど、さっき届いたメールどこだっけ?てのが一度既読にするとすぐ見失ったり、何月何日何時頃送ったメールだよとか言われてもリストからすず時間で探せないのが不便。
受信トレイの上部分にタブもしくはチェックボックスとかで常に表示されてていつでも即座に切り替えられると便利なのになぁ。

と思ったのがキッカケ。

色々試してみた結果とりあえずスレッド表示のON/OFFがブックマークレットで出来るようになった!
※ただしまだハックが足らないので手間が必要…。

暫定コード

とりあえずまだ試行錯誤中で完全コピペで使えるものじゃないけど以下の様なコードでスレッド表示ON/OFFが切り替えられる事が分かってきた。

!function(){

function enableGThread(enabled,cb){
  var q_ik = "0d728ef8ba";
  var q_at = "AF9bupM2wS8R_VjW04xAMsAKqlpNG-NkAA";
  var cb = cb || function(){};
  var x = new XMLHttpRequest();
  x.onreadystatechange = function(){
    if(x.readyState == 4 && x.status == 200){
      cb();
    }
  };
  x.open("POST", location.pathname + "?ik=" + q_ik + "&at=" + q_at + "&view=up&act=prefs&rt=c");
  x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  x.send("p_bx_vmb=" + (enabled?"0":"1"));
}

//enableGThread(true, function(){location.reload()}); //ONにする
enableGThread(false, function(){location.reload()}); //OFFにする

}()

これは設定ページの保存するボタンを押した時に投げてるリクエストから不要なパラメータとかを最小限まで削って出来たリクエストです。一応コレでうまく動くことは確認できたんだけど1つ問題が…。

課題

上記コードのクエリを構築してる中で ikat に入ってる謎の値、これがなんだかまだ分かってません。
恐らくログイン中のセッションに紐付いててCSRFトークンみたいなやつだと思う。これは各自のアカウントでデベロッパツールのネットワークとか開きながら一回設定の保存ボタンを押してみるとその時のクエリパラメータから取得が出来る。設定画面を開くたびに毎回変わるみたいだけどでも実は古い値を使いまわしてもちゃんと機能する。
なのでとりあえず一回コピペで取得できたらそれを上記コードに埋め込んでおけば暫く使えるみたいよ。

誰かこの値の取得方法or作り方をもう少しGmailのコード追って調べてくれたら嬉しいな☆

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?