Zapier Cli:无法动态设置authentication.connectionLabel

时间:2018-08-06 12:27:01

标签: zapier zapier-cli

在开发人员文档之后,我尝试了多种尝试来实现这一目标。

我想从令牌有效负载中提取标签,如果没有的话,我可以从/ me响应主体中构建标签。

这是我最近的尝试:

var jwtDecode = require('jwt-decode');

const getTokenFields = (z, bundle) => {
  var sub = jwtDecode(bundle.authData.token)['sub']
  console.log(sub)
  return sub;
};

const getLabelField = (z, bundle) => {
  var sub = jwtDecode(bundle.authData.token)['sub']['label']
  console.log(sub)
  return sub;
};

const authentication = {
    type: 'session',
    test: {
        url: '{{process.env.AP_HOST}}/me'
    },
    fields: [
        {
            key: 'token',
            type: 'string',
            required: true,
            helpText: 'See settings to get your token'
        }
    ],
    sessionConfig: {
        perform: getTokenFields
    },
    connectionLabel: {
        perform: getLabelField
    }
};

module.exports = authentication;

我唯一可以工作的是: connectionLabel: "{{bundle.authData.token}}",但看起来糟透了!

connectionLabel: "{{bundle.authData.responsefield}}"感觉应该可以正常工作,但两者都不可行

1 个答案:

答案 0 :(得分:0)

Zapier Platform团队的David在这里。

它应该是connectionLabel: {perform: getLabelField},而不是connectionLabel: getLabelField。您还可以使用从捆绑软件中提取的字符串(如您所见),或从指定的测试端点返回的任何数据(请参见here)。

应该进行 验证,以防止您拥有所拥有的东西(运行zapier validate时会出错),但是如果一切恢复正常,则一定要告诉我们。