【发布时间】:2012-08-09 21:48:29
【问题描述】:
我的问题涉及使用解决方法来解决将 Google Doc 转换为 HTML 以用作Henrique Abreu 发布的电子邮件模板的问题。它在 Google Apps 脚本问题跟踪器上注册为 Issue 585。
我在一年中的大部分时间里一直在使用以下代码,除了丑陋的授权场景(即自动授权系统不起作用)之外,它运行正常。
function getDocAsHtml(docId){
var url = 'https://docs.google.com/feeds/download/documents/Export?exportFormat=html&format=html&id=';
var auth = googleOAuth_('docs',url+docId);
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"};
}
我的问题是最近新的授权不再有效。因此,我使用的现有电子表格可以继续工作并正确发送电子邮件。然而,在创建了一个新的电子表格并将代码导入其中后,就会触发授权机制 [1]。
问题是,以前当我授予权限时,调试器授权对话框会消失并且系统会正常工作,而现在该对话框只是重新出现。当尝试从电子表格中的菜单运行代码路径时,我得到一个通用的“糟糕!需要授权”对话框 [1]。
撇开对于一个已经存在很长时间的问题来说,这是一个丑陋的解决方法这一事实,是什么改变使这个解决方法不再有效?还有其他解决方案吗?
[1] 很遗憾,我还不能上传图片,但可以查看 Issue Tracker,我在其中附上了一张图片,其中包含我正在谈论的错误和授权对话框的示例。
【问题讨论】: