是否可以將Gmail API消息轉換爲OpenPop Mime消息?將Gmail API消息轉換爲OpenPop Mime消息
目前,我有:
List<Message> messagesList = new List<Message>();
List<string> rawMessagesList = new List<string>();
foreach(Message m in messages)
{
Message m2 = service.Users.Messages.Get("me", m.Id).Execute();
string m3 = service.Users.Messages.Get("me", m.Id).Execute().Raw;
messagesList.Add(m2);
rawMessagesList.Add(m3);
}
string rMessage = rawMessagesList[0];
byte[] byteMessage = Encoding.ASCII.GetBytes(rMessage);
OpenPop.Mime.Message openPopMessage = new OpenPop.Mime.Message(byteMessage);
string newStringMessage = FindPlainTextInMessage(openPopMessage);
Console.Read();
不幸的是,它返回的是什麼,因爲原始請求返回爲空。有沒有範圍要求,或者爲什麼gmail沒有返回原始信息的其他原因?
來自API文檔:「Message.Raw:RFC 2822格式和base64url編碼字符串中的整個電子郵件消息,當提供format = RAW參數時,在messages.get和drafts.get響應中返回。看起來你需要以原始格式請求它以獲得完整的信息。 – Mitch
謝謝你。不幸的是,原始數據爲空......正在考慮可能有一些方法來解析身體......但我會仔細檢查,看看我是否可以明確地要求它是未加工的。話雖如此,我是否正確使用base64url編碼字符串的編碼? – bordeo
看起來你必須在'GetRequest'上指定格式作爲屬性。 https://developers.google.com/resources/api-libraries/documentation/gmail/v1/csharp/latest/classGoogle_1_1Apis_1_1Gmail_1_1v1_1_1UsersResource_1_1MessagesResource_1_1GetRequest.html – Mitch