我正在尝试使用Google的API发送电子邮件。我有一个由AngularJS支持的Web应用程序,用户使用oauth2使用他们的Google帐户(通过passport.js)登录。一个新的访问令牌被写入我的数据库的帐户。他们的谷歌用户ID也写入他们的帐户。我希望用户能够使用简单的用户ID和访问令牌通过HTTP请求发送电子邮件。我使用邮差做一些测试的要求,但我不断收到此错误:仅使用令牌发送包含Gmail API的电子邮件?
{
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"
}
],
"code": 403,
"message": "Insufficient Permission"
}
}
我使用下面的链接进行POST请求:
https://content.googleapis.com/gmail/v1/users/106xxxxxxxxxxx/messages/send
在我的头,我有:
Authorization: Bearer yaxx._wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
我的身体:
{
"raw": "test"
}
我已经有一些电子邮件间歇性地使用这种方法,但我似乎无法确定地重新创建一个成功的请求。我对Google的文档有点困惑。我是否需要明确授予访问权限,如this page底部的示例所示?
谢谢,但我得到相同的错误响应。这是我的Postman HTTP请求的副本。 'POST /gmail/v1/users/me/messages/send?access_token=ya29.xxxxxxxxxxxxxxxxx HTTP/1.1 Host:www.googleapis.com Content-Type:application/json Cache-Control:no-cache Postman-令牌:c152b250-b38f-7280-6466-XXXXXXXXXXXXXX { “原始”: “Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApTdWJqZWN0OiBTdWJqZWN0IG9mIHRoZSBtYWlsCkZyb206IHNlbmRlckBnbWFpbC5jb20KVG86IHJlY2lldmVyQGdtYWlsLmNvbQoKVGhpcyBpcyB3aGVyZSB0aGUgbWFpbCB0ZXh0IHdpbGwgZ28 =” }' – mjoyce91
@MikeJoyce更新了答案:) – Tholle
@Throlle:你的回答对我的作品,但我想知道从你从哪里得到这些不同的领域。即使在GMail API文档中我也找不到它 –