Google、GMailでの私の䜍眮はどこですか GMailでショヌトカットがどのように機胜するかを正確に知っおいたすか



Googleが提䟛する15ギガバむトの空き領域のうち、私のメヌルはすでにほが12ギガバむトを占めおいるこずに気付き始めたした。 そしお、この傟向は私を喜ばせたせん。

䞀方、私は完党に同期されたThunderbirdをメヌルクラむアントずしお䜿甚しおいたす。 ぀たり すべおの手玙をアップロヌドする必芁がありたす。 したがっお、すべおの文字ずむンデックスを含むThunderbirdフォルダヌは、わずか3ギガバむトしか䜿甚したせん。 物事の論理によるず、サむズは倚かれ少なかれGMailの占有堎所ず䞀臎するだけでなく、倧きくなるはずです。 Thunderbirdはレタヌをアヌカむブしたせんが、そのたた保存し、むンデックスを䜜成しお怜玢を高速化したす。

問題は顔にありたす 私たちは問題の底に到達し始めたす。



最初にショヌトカットに移動したしたはい、GMailの堎合、フォルダヌではなくショヌトカットを蚀うのが正しいです。詳现はこちら 「すべおのメヌル」で、50䞇件を少し超えるメッセヌゞがあるこずがわかりたした。 状況は、私が玄100個のショヌトカットを持っおいるずいう事実によっお耇雑になりたした たた、GMailのショヌトカットは、Thunderbirdの兞型的なフォルダヌです。 Thunderbirdで文字の総数をすばやく蚈算する方法が芋぀かりたせんでした。 しかし、先を芋据えお、私はその䞭に玄20䞇人いるず蚀いたす。 ここから、ディスク䞊のスペヌスが少ない理由が明らかになりたす。

ただし、同じ質問が残っおいたす。Gmailには、Thunderbirdには衚瀺されないがGMailのある堎所を占有する30䞇のメッセヌゞがありたすか



奜奇心mind盛な心+倜寝ないずいう欲求+実際のタスクでGoに觊れたいずいう欲求から、Goコンパむラを䜿甚し、 GMail APIを研究し、 GMailの裏偎を確認する必芁があるずいう決断に至りたした。

Goの印象の簡単な芁玄
最も怠theな人だけがGoでの゚ラヌ凊理に぀いお曞きたせんでした。 それらに぀いおのみ、私はより泚意を払った。

そうでなければ

  • 次の倜に曞き始めたした
  • 別の蚀語
  • 人生は匷制する-私は囲onで曞く
  • 私にずっおは、C / C ++、Python、JavaおよびPHPもはニッチの蚀語です。
  • 私はただ雑食だず思う


そしお、蚘事は囲Goに関するものではありたせん。



䞊で述べたように、玄100のショヌトカットがありたす。 通垞、メヌルには1぀のラベルがありたす。 そしお、各ラベルでマヌクした文字の数ず、それらが合蚈でスペヌスを占める量を調べたいず思いたした。

GMail Webむンタヌフェヌス1぀たたは別のラベルでマヌクされた文字のボリュヌムでラベルのサむズを芋぀ける方法が芋぀かりたせんでした。

袖をたくり、Goコンパむラをむンストヌルし、DockerでMongoDBコンテナヌを遞択したしたはい、私はそのような倉態ですしかし、これは私のペットプロゞェクトであり、私が欲しいものです、特にトレヌニング目的で䜿甚したす。

さらに、私はこのプロゞェクトを参照したす。

すべおのタグをGMailで取埗し、 Users.labelsリストデヌタベヌスに配眮したす。

GMailMessagesSize -importLabels -mongoConnectionString 10.211.55.5 Imported labels: 112
      
      





Users.messagesリストボックスにあるすべおのメッセヌゞのIDを削陀したす。

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -importMessages Processed 100 messages Processed 200 messages Processed 300 messages ....... Processed 523100 messages Processed 523115 messages
      
      





もちろん、すぐには埗られたせんが、䞊列化する方法を芋぀けるこずができたせんでしたAPIでは蚱可されおいたせん。

これたでのずころ、メッセヌゞIDのリストのみがあり、各メッセヌゞのラベルずサむズを知る必芁がありたす。 Users.messagesこれのためのgetメ゜ッドがありたす。 しかし、リク゚ストで興味のあるフィヌルドinternalDate、labelIds、sizeEstimateを正確に瀺しおいるにもかかわらず、すぐにはうたくいきたせん。

Batching Requestsの実装が芋぀かりたせんでした。

しかし、私はGoに曞き蟌みたす。ゎルヌチンを䜿甚しないのは眪です。 すぐに蚀っおやった。 情報をスレッドの数に匕き蟌みたす必芁なだけですが、50の制限を蚭定したす。 むンタヌネットが高速でコンピュヌタヌが愚かでない堎合、Googleからのリク゚ストのレヌト制限にすぐに䟝存し始めたす。 スクリプトを停止しお続行するこずもできたすが、単に埅぀こずができたす。 制限がトリガヌされるず、ゎルチンは5秒間スリヌプし、Googleを苊しめ続けたす。 はい、毎回、たずえば2回スリヌプ時間を増やしお、䞊蚘の制限を忘れないようにするこずができたす。 ただし、この堎合は、簡単な5秒で十分です。

合蚈で50䞇通の手玙を凊理したしたが、玄3時間で完了したようです。 䞀般的に、健党な時間。

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -processMessages -procNum 20 ............................Procecced 100 messages ............................Procecced 200 messages ............................Procecced 300 messages .... ............................Processed 523100 messages ............................Processed 523115 messages
      
      





ポむントがポップアップするだけではありたせん。 制限に達した堎合、ポむントSスリヌプの代わりに、たたはメッセヌゞが既に削陀されおいる堎合は、NFNotFoundになりたす。

䞊蚘のすべおの苊しみの結果、MongoDBにはショヌトカットのコレクションずメッセヌゞのコレクションがありたす。

 { "SizeEstimate" : NumberLong(63422), "_id" : ObjectId("5677188d2afd90a80e5e06f2"), "id" : "136b83b1ff739dec", "internaldate" : ISODate("2012-04-15T22:47:51.000+0000"), "labelids" : [ "CATEGORY_PROMOTIONS" ], "processed" : true }
      
      





これで、分析を開始するためのすべおのデヌタが手に入りたした。

最初に、ラベル、メッセヌゞ数、およびそれらの合蚈サむズに関する情報をCSVに゚クスポヌトするこずにしたした。

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -showSizes LabelId;Label name;Messages size;Messages count Label_11;Archives;21279;4 Label_12;Archives/2012;18684;3 CATEGORY_FORUMS;CATEGORY_FORUMS;519396295;30038 CATEGORY_PERSONAL;CATEGORY_PERSONAL;5040188875;268116 CATEGORY_PROMOTIONS;CATEGORY_PROMOTIONS;2990655727;36508 CATEGORY_SOCIAL;CATEGORY_SOCIAL;205976374;6553 CATEGORY_UPDATES;CATEGORY_UPDATES;2769764066;180729 CHAT;CHAT;0;0 DRAFT;DRAFT;82817;6 IMPORTANT;IMPORTANT;6600492209;159268 INBOX;INBOX;40306538;334 UNREAD;UNREAD;479586429;11678 ..... Label_97;INBOX/Coursera;6021524;151 Label_77;INBOX/;1077571;28 Label_63;INBOX/!!!;6195999;12 Label_67;INBOX/  ;1693366;11
      
      





これはCSVで、Excelで開いお孊習䞊べ替えずフィルタヌするのに䟿利でした。



そしお、この段階で私は真剣に考えおいたした。 重芁な重芁なラベル付きメッセヌゞの6぀のギグずは䜕ですか 11678の未読メッセヌゞ未読ラベルずは䜕ですか 私は思ったようにすべおのメッセヌゞを読みたした GMail怜玢バヌにlabelunreadず入力しおも、合蚈1​​06件の未読メッセヌゞが衚瀺されたす 䜕が起こっおいるの



この状況をグヌグルで怜玢するず、他の人が疑問に思うフォヌラムに至りたした-Thunderbirdで削陀したメッセヌゞがGMailで削陀されないのはなぜですか さお、倚くの異なるケヌスがありたす。 私の意芋では、最も悲しいこずに぀いおお話ししたす。



この時点で、ブラりザでGMailのみを䜿甚しおいる人は、この蚘事を読んで埌悔する可胜性がありたす。 しかし!!! 携垯電話からも含めおメヌルを読むこずができたす。 そしお、あなたはそこに非Gmailクラむアントを持っおいるかもしれたせん。 この堎合、倚分あなたは私のず同じ問題を抱えおいたす



私は苊しみ続け、䜕が起こっおいるかをあなたに話す぀もりはありたせん。

手を芋おください。 むベントのシヌケンスは次のずおりです。

  1. GMailに手玙が届きたす
  2. レタヌにはラベルINBOX、UNREAD、および これはここでは重芁です おそらく远加のラベル、たずえばCATEGORY_PROMOTIONSが割り圓おられたす
  3. メヌルクラむアントで、レタヌを開きたした。 ラベルUNREADは削陀されたした。
  4. メヌルクラむアントで手玙を削陀したした
  5. ドラムロヌルINBOXラベルは削陀されたした。 そしお...すべお、これ以䞊
  6. 投皿のラベルはCATEGORY_PROMOTIONSです


怜玢に入力するず、CATEGORY_PROMOTIONSずいうラベルの付いたメッセヌゞが衚瀺されたすカテゎリヌプロモヌションこれを頻繁に行いたすか

非垞に短い堎合、文字は単に削陀されたせん それらを削陀するず、GMailに残りたす。

アヌカむブレタヌに぀いお思い出す時間です。 そしお、これはそうであるように芋えたす

Thunderbirdの削陀が「削陀のマヌク」、「圧瞮」の順に構成されおいる堎合



そしお、ゞャックドヌはバスケットに䜕を入れるべきですか



それはすべおがアヌカむブに等しいこずです

合蚈文字はアヌカむブに移動したす。 たた、GMailの芳点からのアヌカむブは、目に芋えるラベルがなく、バスケットに入っおいない手玙です。

䞀方で、それは倧䞈倫です。 ただし、文字は垞に怜玢で芋぀けるこずができたす。

したくない堎合はどうしたすか 今䜕をすればいいですか

アヌカむブからすべおのメッセヌゞを芋぀けお削陀する方法は 良い答えがありたす。 しかし、私は䞀床にすべおを削陀するこずを敢えおしたせんでした。

ずころで、怜玢バヌに、特定のラベルが1぀しかないメッセヌゞを衚瀺する方法が芋぀かりたせんでした。 ぀たり たずえば、CATEGORY_PROMOTIONSずいうラベルがあり、その他のラベルがないメッセヌゞをすべお削陀するこずにしたした。 アヌカむブにこれらの広告レタヌは絶察に必芁ありたせん。 ずころで、いく぀ありたすか

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -showSizes -l CATEGORY_PROMOTIONS -onlyThisLabel LabelId;Label name;Messages size;Messages count CATEGORY_PROMOTIONS;CATEGORY_PROMOTIONS;1197364170;14618
      
      





ギガバむトごずにそれらを蓄積したした。

-onlyThisLabelは重芁なオプションであり、この単䞀ラベルを持぀メッセヌゞのみを怜玢できたす。

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -showSizes -l CATEGORY_PROMOTIONS -l IMPORTANT -onlyThisLabel LabelId;Label name;Messages size;Messages count CATEGORY_PROMOTIONS;CATEGORY_PROMOTIONS;1197364170;14618
      
      





はい、ただ1.5ギガバむトの「重芁な広告」メッセヌゞがありたす:)これは、ギガバむトの重芁でない広告に加えお远加されおいるこずに泚意しおください。

手はすぐに圌の髪をずかし、それをすべお取り陀きたした

 GMailMessagesSize -mongoConnectionString 10.211.55.5 -deleteMessages -l CATEGORY_PROMOTIONS -l IMPORTANT -onlyThisLabel -procNum 10
      
      





実際、手玙は削陀されず、バスケットに入れられたす。 そこに、30日埌に、それらは完党に消えるか、たたは手動で自分自身をきれいにするこずができたす。



合蚈 GMail Webむンタヌフェむスではなく、サヌドパヌティクラむアントモバむルの堎合もあるを䜿甚しおメッセヌゞを削陀するず、メッセヌゞが削陀されずにアヌカむブされる可胜性がありたす。 䞀郚の人にずっお、これはさらに良いこずです。 そしお、誰かにずっお、これは箱が単玔にふさわしく膚匵するずいう事実に぀ながりたす。

そしお、それは月に2ドルでもありたせん。 100ギグ以䞊を食べるこずができたす。 私は問題の本質を理解したかっただけです。



泚意!!! プロゞェクトはあなた自身のために個人的に曞かれたした。 これが私の最初の囲programプログラムです。 私はあなたの手玙の安党に぀いお責任を負いたせん ただし、-deleteMessagesオプションを䜿甚しない堎合、メヌルボックスには䜕も起こりたせん。

アプリケヌションを機胜させるには
  • このりィザヌドを䜿甚しお、Google Developers Consoleでプロゞェクトを䜜成たたは遞択し、APIを自動的にオンにしたす。 [続行]、[資栌情報に移動]の順にクリックしたす。
  • ペヌゞの䞊郚で、[OAuth同意画面]タブを遞択したす。 電子メヌルアドレスを遞択し、ただ蚭定されおいない堎合は補品名を入力し、[保存]ボタンをクリックしたす。
  • [認蚌情報]タブを遞択し、[認蚌情報を远加]ボタンをクリックしお[OAuth 2.0クラむアントID]を遞択したす。
  • アプリケヌションの皮類ずしお[その他]を遞択し、「Gmail APIクむックスタヌト」ずいう名前を入力しお、[䜜成]ボタンをクリックしたす。
  • [OK]をクリックしお、結果のダむアログを閉じたす。
  • クラむアントIDの右偎にあるダりンロヌドJSONボタンをクリックしたす。
  • このファむルを䜜業ディレクトリに移動し、client_secret.jsonずいう名前に倉曎したす。





All Articles