使用C#格式的附件创建草稿的示例?
我已经用C语言编写了一个测试应用程序,它使用新的Gmail API创建了一个草稿消息。当邮件没有附件时,它可以正常工作 我将从IMAP API开始,并将MailBee.NET组件与该API一起使用。MailBee.NET组件包括一个生成RFC 2822消息的类,因此我重复使用了这个类,并对消息进行了Base64编码,并将其分配给“Raw”属性,如下所述: 当未添加附件时,它可以正常工作,但当添加附件时,它会以500响应失败:使用C#格式的附件创建草稿的示例?,c#,gmail-api,C#,Gmail Api,我已经用C语言编写了一个测试应用程序,它使用新的Gmail API创建了一个草稿消息。当邮件没有附件时,它可以正常工作 我将从IMAP API开始,并将MailBee.NET组件与该API一起使用。MailBee.NET组件包括一个生成RFC 2822消息的类,因此我重复使用了这个类,并对消息进行了Base64编码,并将其分配给“Raw”属性,如下所述: 当未添加附件时,它可以正常工作,但当添加附件时,它会以500响应失败: { "error": { "errors": [ {
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": "Backend Error"
}
],
"code": 500,
"message": "Backend Error"
}
}
有人能提供一个使用.NETAPI的例子吗?API页面上的示例非常简单,没有提供太多有用的信息,文档也不是很好。可能最好使用.NET客户端附带的Message/MessagePart/MessagePartBody类,但是我找不到任何关于它们使用的明确指导或示例,因此不知道从哪里开始
问题:
1) 任何人都可以提供一些使用.NET客户端中的类创建带有附件的草稿消息的示例代码吗
2) 是否可以附加多个文件?整个文档只涉及一个文件,而多部分指南只涉及两个部分:元数据和附件。提供一个您正在上载的“原始”字段示例肯定有助于调试(base64编码或直接)
然而,这听起来与:
关于这一点:
m、 Raw=Convert.ToBase64String(msg.GetMessageRawData())
您要确保使用的是“web安全”(也称为“url安全”)base64编码字母表
正如您提到的URL中的文档所述:
"""
应用程序可以使用drafts.create方法创建草稿。一般过程是:
创建符合RFC 2822的MIME消息。
将消息转换为URL安全的base64编码字符串。
创建草稿,将drafts.message.raw字段的值设置为编码字符串。
“”“
Google API使用的与Gmail Guy提到的另一个问题的海报非常相似,它已经神奇地在一夜之间开始工作。所以这一定是Gmail的问题 关于:
m.Raw = Convert.ToBase64String(msg.GetMessageRawData());
谢谢你的提醒;我以前确实对它进行了编码,但在尝试20种不同的方法使其工作时,我删除了它,忘记了将其重新添加进去
另外,要确认:是的,当您使用原始消息方法时,您可以添加多个附件。“很可能我错误地使用了message/MessagePart/MessagePartBody类。”让我们看看您是如何使用它们的。很高兴它现在能为您工作,感谢您的确认。不用说,肯定有Gmail用户在观看堆栈溢出的bug报告!:)我猜
msg.GetMessageRawData()
来自您提到的MailBee.NET组件?真的没有别的办法吗?
m.Raw = Convert.ToBase64String(msg.GetMessageRawData());