回复主题 google-api-ruby-client

2024-03-21

下面是我使用 google-api-ruby-client 创建消息的代码(几乎)的样子:

  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 https://github.com/google/google-api-ruby-client/blob/e3b8c800d649da00748d4605d847b342480ecc73/generated/google/apis/gmail_v1/service.rb#L1150表明它不需要thread_id作为参数。但是,那Message class https://github.com/google/google-api-ruby-client/blob/e3b8c800d649da00748d4605d847b342480ecc73/generated/google/apis/gmail_v1/classes.rb#L838确实有它作为一个属性。

所以也许尝试这个应该有效:

  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'
  )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

回复主题 google-api-ruby-client 的相关文章

随机推荐