Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在googleapps脚本中解码JWT_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 在googleapps脚本中解码JWT

Javascript 在googleapps脚本中解码JWT,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在尝试使用以下函数解码JSON Web令牌: function parseJwt(token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) { r

我正在尝试使用以下函数解码JSON Web令牌:

function parseJwt(token) {
    var base64Url = token.split('.')[1];
    var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
    var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));

    return JSON.parse(jsonPayload);
};

这在我的Google Chrome控制台中运行良好,但当我尝试在Google脚本中使用它时,它会说“atob未定义”。I,对64位编码字符串进行解码。但是当我使用它时,它会生成一个数组而不是一个字符串。我如何重现阿托布的行为?或者有其他方法来解码JWT吗?

我找到了如何从


这回答了你的问题吗?
function parseJwt(token) {
    let body = token.split('.')[1];
    let decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString();
    return JSON.parse(decoded);
};