我需要通过简单的 REST 调用从我的服务器发送电子邮件,从我的后端服务器电子邮件地址发送到系统中注册的电子邮件地址。
但是有一个问题,请耐心等待。
问题是,到目前为止我看到的很多文档似乎都假设我想要访问客户的 gmail 数据,但我不想,我只使用客户的地址作为目的地。
我见过的很多示例都涉及视觉提示来授权对 API 的访问。
但是为什么呢?
他们假设我将代表客户从移动设备进行 API 调用,这需要视觉提示以表示同意。但这些都不适用于我的用例。
问题是,永远只有一个发件人,“ME”(为后端服务器指定的公司电子邮件)。
我应该能够在 google 控制台上创建一个 secret api_key,并将其发送到我的请求 header 中(就像该死的 FIREBASE 所做的那样),或者使用该 key 生成一个 token ,然后将其发送到 api 端点(例如 Paypal确实)。
我希望能够做这样的事情:
POST https://gmail.googleapis.com/upload/gmail/v1/users/{userId}/messages/send
Authorization: key=<key_created_on_google_console_or_token_obtained_using_said_key>
{
message stuff...
}
Google 上的 api 引用说我需要使用 OAuth 凭据创建授权,然后我应该使用它来创建一个插入为的短期 token
"Authorization: Bearer <TOKEN>"
在我的下一个 API 调用中,直到它过期。但是...
在控制台中,创建一个新的 OAuth2.0 客户端 ID,表示我需要创建一个应用程序。但我已经有一个项目和一个 api_key (具有 gmail api 的权限)。也就是说,应用程序必须发送以供审核!这是怎么回事?
所以..
如何使用 REST 调用从我自己控制的电子邮件地址发送电子邮件。
这都是服务器端,不需要访问任何用户数据(甚至不需要我自己的数据),我已经控制了发件人地址,我已经在谷歌控制台上创建了一个项目,我已经创建了一个 api_key。
OAuth 似乎认为我在做一些我没有做的事情,那么我错过了什么?
谢谢。
最佳答案
承载 token 是您在授权应用程序访问 Gmail 帐户后获得的 OAuth2 访问 token 。它实际上是为第三方授权而设计的(例如您的用户允许您的应用访问他们的 Gmail),这就是为什么当您访问自己的帐户时它看起来很复杂。
看看这个 https://developers.google.com/identity/protocols/oauth2
关于oauth-2.0 - 如何使用 Gmail REST API 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64273126/