我正在使用gmail api开发应用程序。我想执行存档功能。我已经通过api https://developers.google.com/gmail/api但无法找到任何所需的解决方案。
任何人都可以建议我任何相同的解决方案。
提前致谢。
A archived message只是一个消息,位于All Mail
(这不是一个真正的标签)。您可以通过删除消息(或您添加到其上的任何其他标签)上的INBOX
标签来实现此目的,这可以通过modify实现。
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
}
}