我正在尝试使用Angular 5访问Google Apps Script Gmail服务。这是一个简单的“发送电子邮件”功能
我的GAS代码如下:
function doGet(e){
var addressee = e.parameters.addressee;
var subject = e. parameters.subject;
var body = e.parameters.body;
sendEmailNA(addressee, subject, body);
}
function sendEmailNA(addressee, subject, body) {
GmailApp.sendEmail(addressee, subject, body);
}
我的Angular服务:
sendGoogleEmailNoAttach(addressee: string, subject: string, body: string){
return this.http.get('https://script.google.com/macros/s/[script ID here]/exec?addressee='+addressee+'&subject='+subject+'&body='+body);
}
我的Angular组件:
sendGoogleEmail(){
for(var i = 0; i < this.addressees.length; i++){
this.dataService.sendGoogleEmailNoAttach(this.addressees[i].email, this.message.subject, this.message.body)
.subscribe((data: any) =>{
console.log(data);
this.addressees = [];
this.message.attachments = [];
})
}
}
然后我将其发布为“用户访问网络应用程序”和“任何人”。
我在Stackdriver Logging中没有错误。我只是在本地控制台上收到一个CORS错误,对我而言,这在历史上就意味着其他地方的错误。
任何想法或想法都值得赞赏。谢谢。
答案 0 :(得分:0)
这里可能会发生一些可能的问题。由于我没有足够的声誉来发表评论并要求提供更多信息,因为您的回答是在 2018 年提出的,您可能已经对其进行了修补,我将在下面列出。
出现 CORS 错误有几个原因,可能是:
您可以使用 hurl.it 对其进行测试以查看您的脚本返回的内容,并且您可以在 google 脚本编辑器中测试您的脚本并将其设置为可能的值。
希望这还不算太晚!