我有rest api,它对传递给它的令牌进行解密,并返回实际值。令牌有时可能包含$(值,因此这会导致对api的post调用出现问题
[dbtable]:
SELECT X
FROM "table" WHERE key='1234';
Let v_C= Peek('X',0,'dbtable');
//create the json request
Let vRequestBody='[';
Let vRequestBody = vRequestBody&'{"troup":"CB","tt":"CBA","tk":"$(v_C)"}';
Let vRequestBody = vRequestBody&']';
LIB CONNECT TO 'postapi';
RestConnectorMasterTable:
SQL SELECT
"data"
FROM JSON (wrap on) "root"
WITH CONNECTION (BODY "$(vRequestBody)" );它对其余的值起作用。但是对于带有"$(“的值,由于$扩展,v_C的值变成NULL。有没有一种方法可以避免$扩展并按原样将值传递给qlik意义上的api调用体
发布于 2019-11-04 23:42:28
是的,这在API中是很常见的,在API中,他们可以通过“混淆”Qlik Sense的解析器传递他们想要的东西。通常的做法是放入一个占位符,然后将其替换为实际的值,或者使用chr()命令来获取所需的字符。我认为后者在这种情况下应该有效:
Let vRequestBody = vRequestBody&'{"troup":"CB","tt":"CBA","tk":"' & chr(36) & '(v_C)"}';希望能行得通。
https://stackoverflow.com/questions/58696320
复制相似问题