想要使用gmail api执行存档功能

时间:2016-02-16 06:33:53

标签: ios objective-c gmail-api

我正在使用gmail api开发应用。 我想执行存档功能。 我已经通过api https://developers.google.com/gmail/api但无法找到任何所需的解决方案。

任何人都可以建议我解决同样的问题。

先谢谢。

2 个答案:

答案 0 :(得分:6)

A archived message只是All Mail中的一条消息(不是实际标签)。您可以通过删除邮件(或您添加到邮件的任何其他标签)上的INBOX - 标签来实现此目的,这可以通过modify来实现。

答案 1 :(得分:0)

  C# Code for Gmail APIs Archive email by using OAuth 2.0 service.   
     class ReadAllMails
      {       
        static string[] Scopes = { GmailService.Scope.MailGoogleCom };
        static string ApplicationName = "Gmail API .NET Quickstart";
        static void Main(string[] args)
        {
          UserCredential credential;
          using (var stream =
          new FileStream("credentials_dev.json", FileMode.Open, FileAccess.Read))
          {
               string credPath = "token_MailGoogleCom.json";
               credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
               GoogleClientSecrets.Load(stream).Secrets,
               Scopes,
               "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;                      
             }

            var service = new GmailService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            }); 

            List<string> lableIds = new List<string>();
            lableIds.Add("INBOX");
            ModifyMessageRequest mods = new ModifyMessageRequest();
            mods.RemoveLabelIds= lableIds;
            service.Users.Messages.Modify(mods, "me", emailId).Execute();
            //emailId that you want to archive
       }
    }