(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Scriptの用途としてGmailの特定のメールを取得するというのはけっこう多いですよね。スプレッドシートに書き出したりチャットに転送したりなどなど、けっこう便利ですし。GASでメールを取得する際に気を付けなければいけない点があります。それは、Gmailの読み取りについての1日20000件の壁です。これをオーバーしてGmailから読み取ろうとすると、ひたすらエラーを吐き出して動作しないという切ない状況が起きてしまうんですね。いうことで、今回はこの件について注意しなきゃね、という内容です。ScriptにおけるGmailの読み取り件数の制限とその対処法についてお伝えします。ダッシュボード」のページをご覧ください。Scriptで実行する際の各種動作の制限が一覧されています。Suiteと無料のGoogleアカウントでは異なりますが、いずれもGmailの読み取り件数には制限があるということをまず抑えておきましょう。以降本記事では、無料のGoogleアカウントを前提に、20000件が許容量ということで話を進めていきます。以前書いたこちらの記事。Scriptで過去の問い合わせメールを特定条件で検索して取り出す方法です。tonari-it.com2016.04.26意外に参考にして頂いているケースが多いようで大変うれしいのですが、実はちょっと問題がありました。スクリプトはこちらです。お問い合わせフォームから送信されました”)’という条件で検索するという内容です。「1日20000件なんて、そんないかないだろ~」って思いますでしょ?実はそうじゃないんです。15分に一回のトリガーを仕込んだとすると、このスクリプトは1日で96回呼び出されることになりますよね。ポイントはこの7行目の一文。500);Gmailから指定の条件でスレッドを検索するsearchメソッドですが、書き方はこうです。最大取得数)そして、3つめの引数である最大取得数ですが、上記スクリプトの例では500件です。条件にマッチするスレッドがMAXの500件あったとすると、1日で96回呼び出されるわけですから500件×96回/日=48000件/日となり、余裕でオーバーとなります。