我正在嘗試使用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文檔中我也找不到它 –