下面是我的代码(差不多)是如何使用google ruby客户机创建消息的:
service ||= Google::Apis::GmailV1::GmailService.new
message = RMail::Message.new
message.header['To'] = params[:gmail][:to]
message.header['From'] = current_user_google_user_id
message.header['Subject'] = params[:gmail][:subject]
message.header['Subject'] = params[:gmail][:subject]
message.body = params[:gmail][:body]
service.send_user_message(
current_user_google_user_id,
upload_source: StringIO.new(message.to_s),
content_type: 'message/rfc822',
thread_id: params[:gmail][:thread_id]
)它显然失败了,因为我有thread_id。如果我删除了这一行,事情就可以正常工作,但我不能将范围保持在线程上。我应该如何将线程ID传递给GmailService?
发布于 2017-04-15 10:46:29
查看GitHub上的源代码,send_user_message显示它不接受thread_id作为参数。但是, class确实将它作为属性。
因此,也许尝试这一方法应该有效:
service ||= Google::Apis::GmailV1::GmailService.new
message = RMail::Message.new
message.header['To'] = params[:gmail][:to]
message.header['From'] = current_user_google_user_id
message.header['Subject'] = params[:gmail][:subject]
message.header['Subject'] = params[:gmail][:subject]
message.body = params[:gmail][:body]
message.thread_id = params[:gmail][:thread_id]
service.send_user_message(
current_user_google_user_id,
upload_source: StringIO.new(message.to_s),
content_type: 'message/rfc822'
)https://stackoverflow.com/questions/43329035
复制相似问题