在脚本中修改 Zapier 请求 url
Modify Zapier request url in Scripting
我正在尝试将 action_fields 中的数据作为查询字符串添加到 bundle.request.url。这是原始包数据
{
"auth_fields": {
"sub_domain": "abc",
"apiKey": "1234"
},
"request": {
"files": {},
"url": "https://abc.my.workfront.com/attask/api/v7.0/project?&method=post",
"headers": {
"Content-Type": "application/json; charset=utf-8",
"Accept": "application/json"
},
"params": {
"apiKey": "1234"
},
"data": "{\"status\": \"PLN\", \"name\": \"Test 2\"}",
"method": "POST"
},
"action_fields": {
"status": "PLN",
"name": "Test 2"
},
"action_fields_full": {
"status": "PLN",
"name": "Test 2"
},
"meta": {
"frontend": false
},
"action_fields_raw": {
"status": "PLN",
"name": "Test 2"
},
"url_raw": "https://{{sub_domain}}.my.workfront.com/attask/api/v7.0/project?&method=post",
"zap": {}
}
我正在研究 Zapier 提供的示例并想出了这个
'use strict';
var Zap = {
project_pre_write: function(bundle) {
// bundle.request.method = "POST";
console.log(bundle.request.action_fields["status"]);
bundle.request.url = "http://abc.my.workfront.com/attask/api/v8.0/project?method=post";
bundle.request.params = $.param(bundle.request.action_fields);
console.log(bundle.request.params);
return bundle.request;
}
};
但是我抛出了这个错误
TypeError: Cannot read property 'jquery' of undefined:
我不是 Javascript 专家(甚至不是用户),所以任何想法都将不胜感激。最终结果应该是这样的
http://abc.my.wrokfront.com/attask/api/v7.0/project?method=post&name=Test%202&status=PLN&apiKey=1234
试试这个:
bundle.request.url += '&' + jQuery.param(bundle.action_fields);
我正在尝试将 action_fields 中的数据作为查询字符串添加到 bundle.request.url。这是原始包数据
{
"auth_fields": {
"sub_domain": "abc",
"apiKey": "1234"
},
"request": {
"files": {},
"url": "https://abc.my.workfront.com/attask/api/v7.0/project?&method=post",
"headers": {
"Content-Type": "application/json; charset=utf-8",
"Accept": "application/json"
},
"params": {
"apiKey": "1234"
},
"data": "{\"status\": \"PLN\", \"name\": \"Test 2\"}",
"method": "POST"
},
"action_fields": {
"status": "PLN",
"name": "Test 2"
},
"action_fields_full": {
"status": "PLN",
"name": "Test 2"
},
"meta": {
"frontend": false
},
"action_fields_raw": {
"status": "PLN",
"name": "Test 2"
},
"url_raw": "https://{{sub_domain}}.my.workfront.com/attask/api/v7.0/project?&method=post",
"zap": {}
}
我正在研究 Zapier 提供的示例并想出了这个
'use strict';
var Zap = {
project_pre_write: function(bundle) {
// bundle.request.method = "POST";
console.log(bundle.request.action_fields["status"]);
bundle.request.url = "http://abc.my.workfront.com/attask/api/v8.0/project?method=post";
bundle.request.params = $.param(bundle.request.action_fields);
console.log(bundle.request.params);
return bundle.request;
}
};
但是我抛出了这个错误
TypeError: Cannot read property 'jquery' of undefined:
我不是 Javascript 专家(甚至不是用户),所以任何想法都将不胜感激。最终结果应该是这样的
http://abc.my.wrokfront.com/attask/api/v7.0/project?method=post&name=Test%202&status=PLN&apiKey=1234
试试这个:
bundle.request.url += '&' + jQuery.param(bundle.action_fields);