2
0

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 1 year has passed since last update.

【Google app script】GASで外したスターがGmail Webアプリ上の受信トレイで反映されない【Star/Unstar】

Last updated at Posted at 2022-04-11

概要

Gmailではスレッドに対してラベル、メッセージに対してはスターや既読を付けることができる

しかし、メッセージについたスターをGoogle app scriptを使って外すとGmailの受信BoxのUI上で反映されていないことを発見し、調査した。

再現

状況を再現するコードを用意した。
事前にスターを付けたメールを1件用意しておく

function getLatestStarredMail() {
    const threads = GmailApp.search("is:starred");
    const latestMsg = threads[0].getMessages()[0];
    return latestMsg;
}

function traceUnstar(message) {
    const date = message.getDate();
    Logger.log("Date : " + date);

    const subject = message.getSubject();
    Logger.log("Subject : " + subject);

    traceIsStarred(message);

    message.unstar();
    Logger.log("unstar message");

    message.refresh();
    Logger.log("refreshed");

    traceIsStarred(message);
}

function traceIsStarred(message) {
    if (message.isStarred()) {
        Logger.log("starred");
    } else {
        Logger.log("unstarred");
    }
}

function testStarUI() {
    const message = getLatestStarredMail();
    traceUnstar(message);
}

testStarUIを実行しても、受信ボックス上の当該メールのスターは外れていないように表示されているがログではきちんとスターが外れている
image.png

一方でis:starredでサーチするとしっかりスターが外れていることが確認できる。
フィルター機能ではしっかりと反映されている。受信ボックスだけの表示不具合のようだ。

過去の報告

同様の報告を探したところ1件見つかった

しかし、具体的な解決策はなかった。
同スレッド内で公式に報告したとあったので、確認した

ただ、いまだに解決していないようである。4年も前から残り続けている不具合だった。

結論

  • Webアプリ受信ボックス上でのみGASからStar()やUnstar()したメッセージの状態が反映されない
  • Webアプリから見る際はis:starredでフィルターして操作すると間違いがない
2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?