回复线程 google-api-ruby-client

reply to thread google-api-ruby-client

这就是我的代码(差不多)使用 google-api-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?

查看 GitHub 上的源代码,send_user_message shows that it doesn't take a thread_id as a parameter. However the Message 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'
  )