Last active
May 13, 2020 03:45
-
-
Save houkanshan/48ee667a281efd5c6f5045fdc273e81f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function MD5 (input) { | |
var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input, Utilities.Charset.UTF_8); | |
var txtHash = ''; | |
for (i = 0; i < rawHash.length; i++) { | |
var hashVal = rawHash[i]; | |
if (hashVal < 0) { | |
hashVal += 256; | |
} | |
if (hashVal.toString(16).length == 1) { | |
txtHash += '0'; | |
} | |
txtHash += hashVal.toString(16); | |
} | |
return txtHash; | |
} | |
function youdaoTrans(query) { | |
if (!query) { return ''; } | |
var cache = CacheService.getScriptCache(); | |
var cached = cache.get(query); | |
//Logger.log(cached); | |
if (cached != null) { return cached; } | |
var key = '有道翻译-应用id'; | |
var secret = '有道翻译-应用密钥'; | |
var salt = 2; | |
var sign = MD5(key+query+salt+secret); | |
//Logger.log("https://openapi.youdao.com/api?from=EN&to=zh_CHS&q=" + query + '&appKey=' + key + '&salt=2&sign=' + sign); | |
var response = UrlFetchApp.fetch("https://openapi.youdao.com/api?from=EN&to=zh_CHS&q=" + query + '&appKey=' + key + '&salt=2&sign=' + sign); | |
var res = JSON.parse(response.getContentText()); | |
var ret = '' | |
if (res.basic) { | |
ret = '[' + res.basic['uk-phonetic'] + '] [' + res.basic['us-phonetic'] + '] ' | |
ret += res.basic.explains.join('; '); | |
if (query !== res.query) { | |
ret = res.query + ' ' + ret; | |
} | |
} else { | |
ret = res.translation.join('; ') | |
} | |
cache.put(query, ret, 21600); | |
return ret; | |
} | |
function freeze() { | |
var sh = SpreadsheetApp.getActiveSheet(); | |
var range = sh.getActiveRange() | |
var shval = range.setValues(range.getValues()); | |
} | |
function onOpen() { | |
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
ss.addMenu("助手", [{ | |
name: '锁定选区翻译结果', | |
functionName: 'freeze', | |
}]); | |
} |
楼主还会能更新吗,我提示TypeError: 无法调用 undefined 的方法“join”。(第43行)。求解,文科生哭晕在厕所。
试了下没有问题哦,你看看是不是
var key = '有道翻译-应用id';
var secret = '有道翻译-应用密钥';
这里填错了?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
楼主还会能更新吗,我提示TypeError: 无法调用 undefined 的方法“join”。(第43行)。求解,文科生哭晕在厕所。