gpt4 book ai didi

html - 获取 Google Document HTML 内容,然后使用 GmailApp 发送

转载 作者:太空宇宙 更新时间:2023-11-04 16:31:54 24 4
gpt4 key购买 nike

我需要通过 Gmail 以 HTML 格式发送 Google 文档内容,在邮件中显示与在文档中完全相同的内容(请参见下面的示例代码)

至少可以说,电子邮件收件人收到的 HTML 内容不准确

  • 如果使用 Gmail 阅读邮件,则缺少所有格式(图像环绕、字体粗体和颜色)
  • 如果仅使用 Mozilla Thunderbird 或 Microsoft Outlook,则缺少图像环绕,但有一些额外的上边距

有什么方法可以正确或至少更好地做到这一点?

这里是我使用的代码

function doc2mailtest() {
var docId = "1glvAaYuYm25oZZVmHLaEySlPP-9fIqGwm17wAs1HpHc";
// link to document: https://docs.google.com/a/thexs.ca/document/d/1glvAaYuYm25oZZVmHLaEySlPP-9fIqGwm17wAs1HpHc/edit
var html = getDocAsHtml(docId); // OK but not accurate - ignore text format and image wrapping
GmailApp.sendEmail("me@some.com", "Just testing MMD", '', { htmlBody: html });
return;
}
function getDocAsHtml(docId) {
var scope = 'https://docs.google.com/feeds/';
var url = scope+'download/documents/Export?exportFormat=html&format=html&id=';
var auth = googleOAuth_('docs',scope);
return UrlFetchApp.fetch(url+docId,auth).getContentText();
}
function googleOAuth_(name,scope) {
var oAuthConfig = UrlFetchApp.addOAuthService(name);
oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oAuthConfig.setConsumerKey('anonymous');
oAuthConfig.setConsumerSecret('anonymous');
return {oAuthServiceName:name, oAuthUseToken:"always"};
}

谢谢和问候,福斯托

最佳答案

Google Docs 有一个附加组件可以发送文档的 HTML 电子邮件版本 - 打开“附加组件 > 获取附加组件”并搜索“电子邮件 html”。

对于编码器的方法,Omar AL Zabir(用户@oazabir) 写了一个很好的博客条目来遍历它:Google Docs to Clean HTML .您不是依赖于以 HTML 形式获取文档,而是遍历文档对象以收集每个元素并构建 HTML 输出。

确保电子邮件在所有电子邮件客户端中看起来与源文档一样是一个大话题 - 对于这个论坛来说太多了。但是,请记住以下几点:

关于html - 获取 Google Document HTML 内容,然后使用 GmailApp 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com