当前位置: 首页 > 知识库问答 >
问题:

Zapier的JavaScript函数"btoa"未定义

霍锦
2023-03-14

我试图利用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)}]

共有1个答案

杜哲彦
2023-03-14

您可以使用以下选项:

var b64data = Buffer.from('this is my string to turn into base64').toString('base64');

Node.js似乎不支持atob()和btoa()方法。

 类似资料:
  • 问题内容: 在我的node.js应用程序中,我做了一个操作,以便可以使用客户端javascript中固有的btoa()和atob()函数,但由于某种原因未包含在node中。新目录显示在我的node_modules文件夹中,该文件夹本身与app.js一起位于根目录中。然后,确保将btoa- atob作为依赖项添加到根目录下的package.json文件中。 但是,由于某种原因,它仍然无法正常工作。

  • 我没有正确安装吗?我忽略了什么?

  • uniapp中没有btoa函数吗?

  • 问题内容: 基本上,我使用javascript通过以下方式从Google Play商店中抓取数据: 一请求 2麦片 3-QueryString 我使用了来自Github的Google Market API,其使用require的方式如下: 但我得到以下 ReferenceError:需求未定义… 因此,我在javascript中没有要求,这对我来说不是新的,还是与众不同。 问题答案: Requir

  • 在index.js,我有: 我从以下地方复制粘贴了代码:https://firebase.google.com/docs/functions/get-started 不知何故,当我使用 我得到: 错误:分析函数触发器时出错。ReferenceError:未在对象上定义函数。(/home/[USERNAME HERE]/functions/index.js:1:87)在模块中_在对象处编译(modu

  • 问题内容: 我已经运行(并重新启动了MySQL / Apache 2),但是仍然出现此错误: 致命错误:在第21行的/home/validate.php中调用未定义的函数mysql_connect() 说/etc/php5/apache2/conf.d/pdo_mysql.ini文件已被解析。 问题答案: 好吧,这是你的机会!看来PDO已准备就绪;用它代替。 尝试检查是否正在加载PHP MySQL