2017-10-06 13 views
0

受信トレイをスキャンして特定のメールをスキャンし、その内容を自動的に処理するスクリプトがいくつかあります。これらは、しばらく後に作業を停止しました。GmailApp.getUserLabelByName()はGmailラベルを返しません

私はちょうどそれらの1つを書き直そうとしましたが、どんなラベルを試してみても、GmailApp.getUserLabelByName()は常にnullを返します。

例:

function getLabel(){ 
    var label = GmailApp.getUserLabelByName("Script Unprocessed"); 
    Logger.log(label); 
} 

これは、私は電子メールで、Script Unprocessedラベルを持っているにもかかわらずnullを返し、私が試した任意のラベルのためのnullを返します。

これはなぜ起こっているのでしょうか?

+0

私のラベルのための作品。あなたのスクリプトはGmailAppへのアクセスを許可されていますか? – FTP

+0

@Desireそれは、私はちょうど確かめて、それを公表するために新しいスクリプトを作成しました。 –

答えて

0

getUserLabelByName()メソッドは、ユーザーが作成したラベルのみを取得し、InboxはGmailのシステムラベルです。このコードはユーザーのラベルで機能するようです。

function getLabelName(name) { 
    var label = GmailApp.getUserLabelByName(name); 
    Logger.log(label.getName()); 
} 
+0

Amit、私はこれをユーザー作成のラベルに使用していますが、これを例として使用すると、これは悪い例でした。私は今それを変更しています。 –

0

私のGmail /ラベルでも動作します。そのラベルのためのスレッド/メッセージを取得する別の方法はsearch()である:

function getLabel() { 
    var label = GmailApp.search('label:Script Unprocessed'); 
    // returns the message count in the first thread within `Script Unprocessed` 
    Logger.log(label[0].getMessageCount()); 
} 
関連する問題