스레드에 사용자 정의 라벨을 지정하려는 경우 문제가 없습니다. 그러나 시스템 라벨 인 "받은 편지함"만주고 싶을 때 문제가 발생합니다.Gmail의 Apps 스크립트,받은 편지함 라벨을 스레드에 할당
Invalid argument: label (line 2, file 'Code')
스레드에 사용자 정의 라벨을 지정하려는 경우 문제가 없습니다. 그러나 시스템 라벨 인 "받은 편지함"만주고 싶을 때 문제가 발생합니다.Gmail의 Apps 스크립트,받은 편지함 라벨을 스레드에 할당
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, 그래서 나는 당신이 '받은 편지함'같은 시스템 레이블을 추가 할 수 없습니다 같아요
label = GmailApp.getUserLabelByName("Inbox")
thread.addLabel(label)
나는이 오류가 발생합니다. Gmail 웹 UI에서도받은 편지함 라벨을 적용 할 수 없습니다.
웹 UI가 확실합니까? "받은 편지함으로 이동"을 클릭하여 메일을 이동할 수 있기 때문입니다. 또는 MoveToInbox() 메서드는받은 편지함 레이블에 메시지를 제공하는 유일한 방법입니까? – Vincent
받은 편지함으로 이동하면 라벨이 적용되지 않습니다. '받은 편지함'과 같은 라벨이 없습니다. –
감사합니다. 확실히 도움이되었습니다! – Vincent