【发布时间】:2017-02-27 13:25:01
【问题描述】:
我有一个 Rails 应用程序,我想在其中使用 Gmail API(using google-api-client 用于 ruby)发送电子邮件。我在谷歌开发人员中创建了一个应用程序,并生成了一个服务帐户密钥。我正在使用 google 规范来存储该凭证 JSON 文件(存储在 /home/user/.config/gcloud/applicaton_default_credentials.json 中)。
首先,我想获取user labels 下面是我的代码
require 'google/apis/gmail_v1'
gmail_v1 = Google::Apis::GmailV1
service = gmail_v1::GmailService.new
service.authorization = Google::Auth.get_application_default([gmail_v1::AUTH_SCOPE, gmail_v1::AUTH_GMAIL_COMPOSE, gmail_v1::AUTH_GMAIL_MODIFY, gmail_v1::AUTH_GMAIL_READONLY])
user_id = 'me'
result = service.list_user_labels(user_id)
但这给了我Google::Apis::ClientError: failedPrecondition: Bad Request 错误。
我的最终目标是使用已生成凭据 JSON 文件的电子邮件发送电子邮件,因为我不想将我的用户名和密码放在 ActionMailer 的 smtp 配置中。
【问题讨论】:
标签: ruby-on-rails ruby google-api gmail service-accounts