【发布时间】:2016-12-21 17:36:38
【问题描述】:
我正在尝试通过GmailV1 API 发送一封带有附件的电子邮件。但是由于 Missing Draft Message 错误,它无法正常工作。
根据RubyDoc我尝试创建一个草稿消息如下:
GmailV1:GmailService.create_user_draft() 方法接受一个标识符和一个draft_object(接受'me' 为授权用户)。一个草稿对象 (Google::Apis::GmailV1::Draft) 采用 message 形式为 Google::Apis::GmailV1::Message,而 payload 形式为 Google::Apis::GmailV1::MessagePart,它具有所需的 filename 方法。
所以我运行了这段代码:
##assume client is an authorized instance of Google::Apis::GmailV1:GmailService
msg_part = Google::Apis::GmailV1::MessagePart.new(filename: 'path/to/file')
msg = Google::Apis::GmailV1::Message.new(payload: msg_part)
draft = Google::Apis::GmailV1::Draft.new(message: msg)
client.create_user_draft('me', draft)
>> Google::Apis::ClientError: invalidArgument: Missing draft message
怎么会?
版本:
google-api-client 0.9.9
googleauth 0.5.1
红宝石 2.3.1p112
【问题讨论】:
-
你有没有偶然发现this great answer?可能会提供一些线索。
-
我有,但它指的是旧版本的 API,现在在各个方面都完全不同,从身份验证到发出 API 请求。它在这里不适用/帮助。
标签: ruby api gmail-api google-api-client