Zapier 的 JavaScript 函数“btoa”未定义
Posted
技术标签:
【中文标题】Zapier 的 JavaScript 函数“btoa”未定义【英文标题】:Zapier's JavaScript function "btoa" is not defined 【发布时间】:2020-10-11 12:13:26 【问题描述】:我正在尝试利用现有的 sample code 为 PassKit 创建一个带有“由 Zapier 运行 JavaSript”的 JWT 令牌。但是 Zapier 不识别 btoa 功能。
ReferenceError: btoa 未定义
根据这个网站,可以直接调用这个函数。有什么想法吗?
var b64data = btoa("this is my string to turn into base64");
下面是我写的代码。
var Zap =
base64url:function(input)
var base64String = btoa(input); //<--error here
return urlConvertBase64(base64String);
,
urlConvertBase64:function(input)
var output = input.replace(/=+$/, '');
output = output.replace(/\+/g, '-');
output = output.replace(/\//g, '_');
return output;
,
generateJWT:function(key)
var header =
"alg": "HS256",
"typ": "JWT"
;
var time_now = Math.floor(new Date().getTime()/1000);
var exp = time_now + 30;
var body =
"exp": exp,
"key": key
;
var token = [];
token[0] = Zap.base64url(JSON.stringify(header));
return body;
;
output = [body: Zap.generateJWT(inputData.Api_key)]
【问题讨论】:
这能回答你的问题吗? Node.js throws "btoa is not defined" error 【参考方案1】:您可以使用以下内容:
var b64data = Buffer.from('this is my string to turn into base64').toString('base64');
Node.js 似乎不支持 atob() 和 btoa() 方法。
【讨论】:
以上是关于Zapier 的 JavaScript 函数“btoa”未定义的主要内容,如果未能解决你的问题,请参考以下文章
Zapier 打开 exe / Zapier 代码打开打开 exe 的 javascript
如何从“Zapier 代码”(Javascript)读取文件输入