Gmail api随邮递员发送

Gmail api随邮递员发送,gmail,postman,gmail-api,Gmail,Postman,Gmail Api,我正在尝试使用gmail API和POSTMAN一起发送邮件,使用POST方法 POST https://www.googleapis.com/upload/gmail/v1/users/example@gmail.com/messages/send 但我得到一个错误如下: { "error": { "errors": [ { "domain": "global", "reason"

我正在尝试使用gmail API和POSTMAN一起发送邮件,使用POST方法

POST https://www.googleapis.com/upload/gmail/v1/users/example@gmail.com/messages/send
但我得到一个错误如下:

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "invalidArgument"
                "message": "Recipient address required"
            }
        ],
        "code": 400,
        "message": "Recipient address required"
    }
}
标头已放入内容类型:message/rfc822

我知道这必须编码到base64(web_-safe),所以我翻译了

"From: sender.example@gmail.com\r\n" +
"To: receiver.example@gmail.com\r\n" +
"Subject: Subject Example\r\n" +
"This is content: hope you got it\r\n"
我还将它们替换为网络安全

 replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); 
所以我得到了一个base64,如下所示。 所以我把raw放在POST方法的主体中

{
    "raw": "RnJvbTogc2VuZGVyLmV4YW1wbGVAZ21haWwuY29tDQpUbzogcmVjZWl2ZXIuZXhhbXBsZUBnbWFpbC5jb20NClN1YmplY3Q6IFN1YmplY3QgRXhhbXBsZQ0KVGhpcyBpcyBjb250ZW50OiBob3BlIHlvdSBnb3QgaXQNCg"
}
我在谷歌开发者的网站上使用了“试试这个api”,我可以发送它。

但是有邮递员,我不能


有什么帮助吗?

我认为您应该将
内容类型
标题设置为
application/json
。另外,不要忘记添加
授权
标题。

如果您想了解更多详细信息,请参阅以下链接:


如果您想了解更多详细信息,请参阅下面的链接:

这意味着,数据格式不正确。你应该试试下面的方法,它对我非常有效

我使用下面的格式

From: <FROM@gmail.com>
To: <TO@gmail.com>
Subject: Test Email

Test
现在是邮递员

Gmail Rest API URL您必须使用
https://www.googleapis.com/gmail/v1/users//messages/send

内容类型应该是json,因为您在消息体中发送json格式

Content-Type: application/json
体内

{
    "raw": "IEZyb206IDxGUk9NQGdtYWlsLmNvbT4KICAgIFRvOiA8VE9AZ21haWwuY29tPgogICAgU3ViamVjdDogVGVzdCBFbWFpbAogICAgCiAgICBUZXN0"
}

最后,邮递员看起来如下所示。

一旦您向API发送请求,您将收到如下响应

{
    "id": "172016110a227c19",
    "threadId": "172016110a227c19",
    "labelIds": [
        "UNREAD",
        "SENT",
        "INBOX"
    ]
}

你好,这个链接应该有帮助!谢谢@WilfredClement,但不是真的。因为我想我已经满足了所有的条件。你知道吗?谢谢,但我已经做了。如果我将content-type设置为application/json,它将不起作用。它必须是rfc822。我已经添加了授权。我想这只是一个争论的问题。无论如何,谢谢。我使用它的方式:如果你想将内容类型设置为rfc822,你不需要在Base64url中转换请求,你只需要在请求正文中发送格式化的电子邮件。有关更多示例,请检查此答案嘿,谢谢!难以置信的因为我昨天也看到了这个!!我来这里是为了更新,你已经更新了!非常感谢你!!我可以问你一个问题吗?它还表示发送所有参数(从,到,主题,…),而不使用大括号。有没有办法用大括号?如果我用它,我会反弹。。。我现在正在使用ipaas,它自动提供{}。谢谢,我不认为您可以使用{}格式化标题。相反,您可以使用以下格式进行格式化:
To:FirstName LastName
{
    "id": "172016110a227c19",
    "threadId": "172016110a227c19",
    "labelIds": [
        "UNREAD",
        "SENT",
        "INBOX"
    ]
}