动态REST连接到Qlik意义上的服务

动态REST连接到Qlik意义上的服务,rest,qliksense,servicenow-rest-api,Rest,Qliksense,Servicenow Rest Api,我试图将QlikSense中创建的所有REST连接统一到ServiceNow,因为每次从新表中取出数据时,我都必须创建一个新连接。这将使将来管理我的所有连接变得困难,因此我尝试只使用一个连接,该连接将通过使用“WITH connection”函数覆盖特定参数,具体取决于所需的表 我尝试传递参数,如下面代码中所示,但加载数据后,表中没有任何内容: LET vURL = "http://example.org/.../.../.../nameofthetable?"; Rest

我试图将QlikSense中创建的所有REST连接统一到ServiceNow,因为每次从新表中取出数据时,我都必须创建一个新连接。这将使将来管理我的所有连接变得困难,因此我尝试只使用一个连接,该连接将通过使用“WITH connection”函数覆盖特定参数,具体取决于所需的表

我尝试传递参数,如下面代码中所示,但加载数据后,表中没有任何内容:

LET vURL = "http://example.org/.../.../.../nameofthetable?";

RestConnectorMasterTable:
SQL SELECT 
    ...my fields to query from Service NOW...
FROM JSON (wrap off) "result" PK "__KEY_result"
WITH CONNECTION (
URL "$(vURL)",
QUERY "timeout" "900",
QUERY "method" "GET",
QUERY "httpProtocol" "1.1",
QUERY "isKeepAlive" "true",
QUERY "bodyEncoding" "UTF-8",
QUERY "sendExpect100Continue" "true",
QUERY "autoDetectResponseType" "true",
QUERY "queryParameters" "sysparm_query%2u_stateINin_progress,Closed,New%1sysparm_fields%2sys_created_by,%1sysparm_display_value%2true",
QUERY "addMissingQueryParametersToFinalRequest" "false",
QUERY "PaginationType" "Offset",
QUERY "OffsetStartField" "sysparm_offset",
QUERY "IsOffsetStartFieldHeader" "false",
QUERY "OffsetStartFieldValue" "0",
QUERY "OffsetCountFieldName" "sysparm_limit",
QUERY "IsOffsetCountFieldHeader" "false",
QUERY "OffsetCountValue" "10000",
QUERY "OffsetTotalPath" "X-Total-Count",
QUERY "IsOffsetTotalPathHeader" "true",
QUERY "allowResponseHeaders" "false",
QUERY "allowHttpsOnly" "true",
QUERY "useProxy" "false",
QUERY "proxyBypassOnLocal" "false",
QUERY "proxyUseDefaultCredentials" "true"
);
我没有发现任何错误,但我不知道这是否是加载数据的正确语法,或者这是否是我应该使用的正确方法

我见过其他一些人对此提出类似的问题,但没有人详细解释他们是如何解决的

有人能帮我吗?我已经在QlikSense社区问过了,但运气不好,所以这里可能有人

参考资料:

1.-

2.-

3.-

4.-


5.

带有连接的
部分可以更改连接的某些参数,但不能更改所有参数。http参数可以在那里更改,如:url、头、查询参数和主体。您不能更改其他属性,如:方法(get或post)、超时、http协议等。这些属性是特定于连接的,必须在连接级别上更新(手动编辑连接或通过存储库API更新连接时)

看一下关于关键字的文档

顺便说一句,
QUERY
命令只需在发送请求之前在url中添加一个查询参数。这就是为什么你没有得到任何数据。比如说

let vURL = 'http://example.com'

RestConnectorMasterTable:
SQL SELECT 
    ...my fields to query from Service NOW...
FROM JSON (wrap off) "result" PK "__KEY_result"
WITH CONNECTION (
URL "$(vURL)",
QUERY "type" "XML",
QUERY "subtype" "text"
);

将在发送前更改url,实际url将为
http://example.com?type=XML&subtype=text

你好,Stefan,感谢您在这方面的投入。我试过了,它的工作部分与它看起来的一样,但它没有通过ServiceNow查询中使用的过滤器。我添加了这一部分:
FROM JSON(wrap-off)“result”PK“\uuuu KEY\u result”与连接(URL“$(vURL)”,查询“queryParameters”queryParameters=definition%2Gavel子状态持续时间%1sysparm\u字段%2id,sys\u id,开始,结束,值,定义%1sysparm\u显示值%2false”)
您可以(应该?)像这样拆分每个查询参数:
查询“定义”“小木槌子状态持续时间”,查询“系统参数字段”“id,系统id,开始,结束,值,定义”,查询“1sysparm显示值”“false”
我在它工作的时候试过了。谢谢Stefan,这真的很有帮助!