【问题标题】:Add a label to a DRAFT向草稿添加标签
【发布时间】:2014-11-19 21:23:18
【问题描述】:

简单的问题,给定一个 Draft 实例,我如何给它添加标签?

在更新之前尝试简单地将标签添加到草稿的 LabelIds 属性会产生此错误:

Google.Apis.Requests.RequestError
Cannot set labels on drafts [400]
Errors [    
   Message[Cannot set labels on drafts]
   Location[ - ] Reason[invalidArgument] Domain[global]
]

在gmail UI中,可以将标签拖到草稿上,甚至使用API​​,我可以按标签搜索草稿,但草稿标签可以通过APISET吗?

【问题讨论】:

    标签: gmail-api


    【解决方案1】:

    根据documentation,“消息和线程可以有多个与之关联的标签;但是,草稿消息不能应用标签。”

    【讨论】:

      【解决方案2】:

      您可以通过在创建消息后修改消息来做到这一点

      Draft draft = new Draft();
      draft.setMessage( ... );
      draft = service.users().drafts().create(userId, draft).execute();
      
      List<String>labs = new ArrayList<>();
      labs.add("<label_ID>");
      ModifyMessageRequest mmr = new ModifyMessageRequest().setAddLabelIds(labs); 
      service.users().messages().modify(userId, draft.getMessage().getId(), mmr).execute();
      

      【讨论】:

      • 为我工作,使用 PHP。
      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 2014-08-17
      相关资源
      最近更新 更多