スレッドにユーザー定義のラベルを付ける場合は問題ありません。しかし問題は私がシステムラベル "Inbox"だけを与えたいときに始まります。GmailのAppsスクリプト。スレッドに受信トレイのラベルを割り当てます。
label = GmailApp.getUserLabelByName("Inbox")
thread.addLabel(label)
私はこのエラーを取得する:
Invalid argument: label (line 2, file 'Code')
スレッドにユーザー定義のラベルを付ける場合は問題ありません。しかし問題は私がシステムラベル "Inbox"だけを与えたいときに始まります。GmailのAppsスクリプト。スレッドに受信トレイのラベルを割り当てます。
label = GmailApp.getUserLabelByName("Inbox")
thread.addLabel(label)
私はこのエラーを取得する:
Invalid argument: label (line 2, file 'Code')
Gmailでは、「受信トレイ」はユーザー作成のラベルと違って、GmailThreadクラスのgetLabels()メソッドでアクセスできないシステムラベルです。
Gmailアカウントにログインし、検索バーに「label:inbox」と入力すると、ビジュアルラベル「受信ボックス」が適用されたスレッドのリストが返されます。
セキュリティ上の理由から、「受信トレイ」や「スパム」などのシステムラベルは、Googleがラップした方法でのみ操作できます。
var threads = GmailApp.search("label: inbox from: [email protected]");
:またGmailAppクラスの検索()メソッドを使用して、受信トレイのメッセージをフィルタリングすることができます
var thread = GmailApp.getThreadById("yourId");
if(!thread.isInInbox()) {
thread.moveToInbox(); //apply the inbox label
}
次の例では、結果がスレッドに「受信トレイ」ラベルを適用すると同じです
希望します。
GmailLabel
は、「ユーザーが作成したラベル」by definitionあるので、私はあなたが「受信トレイ」などのシステムラベルを追加することはできませんね。 GmailのウェブUIでも受信トレイのラベルを適用することはできません。
あなたはウェブUIについて確信していますか? 「受信トレイに移動」をクリックしてメールを移動できるからです。または、MoveToInbox()メソッドは、メッセージに受信トレイのラベルを付ける唯一の方法ですか? – Vincent
受信トレイに移動してもラベルが適用されていません。 「受信トレイ」のようなラベルはありません。 –
ありがとう、それは確かに私を助けた! – Vincent