我一直试图从有时的visa应用脚本中添加另一个sendasmail别名,但是端点似乎不起作用,或者我不确定这是否是它的预期行为。
这是我正在使用的端点https://gmail.googleapis.com/gmail/v1/users/%s/settings/sendAs/%s',getEmail, "007@alias.domain.com"。
这是AppScipt代码以及我试图使用的有效负载。
var service = getOAuthService(getEmail);
var sendAPIUrl = Utilities.formatString('https://gmail.googleapis.com/gmail/v1/users/%s/settings/sendAs/%s',getEmail, "007@alias.domain.com");
console.log(sendAPIUrl);
var response = UrlFetchApp.fetch(sendAPIUrl, {
method: "PUT",
muteHttpExceptions: true,
contentType: "application/json",
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
},
payload: JSON.stringify({
"sendAsEmail": "007@alias.domain.com",
"isDefault": true,
"replyToAddress": "007@alias.domain.com",
"treatAsAlias": true
})
});在getEmail中,它保存用户的主要电子邮件地址,getOauthService基本上是另一种用户模拟功能,因为更改senAsEmail;只有服务帐户才能工作。
我试图发送一个POST请求来创建一个POST请求,但是错误代码失败了,而域别名列表中允许别名模式,别名是可用的。
这是邮政的代码
var service = getOAuthService(getEmail);
var sendAPIUrl =
Utilities.formatString('https://gmail.googleapis.com/gmail/v1/users/%s/settings/sendAs',getEmail);
console.log(sendAPIUrl);
var response = UrlFetchApp.fetch(sendAPIUrl, {
method: "POST",
muteHttpExceptions: true,
contentType: "application/json",
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
},
payload: JSON.stringify({
"sendAsEmail": "007@alias.domain.com",
})
});
console.log(response.getContentText())这就是我遇到的错误。
{
"error": {
"code": 400,
"message": "sendAsEmail is not a valid user or group",
"errors": [
{
"message": "sendAsEmail is not a valid user or group",
"domain": "global",
"reason": "invalidArgument"
}
],
"status": "INVALID_ARGUMENT"
}
}发布于 2021-06-11 14:04:21
您需要创建别名,而不是更新它。
PUT端点发出https://gmail.googleapis.com/gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}请求时,可以对已经存在的别名进行更新。{ "sendAsEmail": "" },在请求URL中指定旧的sendAsPOST请求。另见这里。
https://stackoverflow.com/questions/67937184
复制相似问题