<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sharing session between Engine API and client in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338605#M7611</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fabio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wondering if you ever cracked this? I am looking for the exact same thing, but using Node.js (via enigma.js package) to connect to the user’s session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lindy Brits. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Oct 2018 01:23:06 GMT</pubDate>
    <dc:creator>lindybrits</dc:creator>
    <dc:date>2018-10-26T01:23:06Z</dc:date>
    <item>
      <title>Sharing session between Engine API and client</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338602#M7608</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working on a .Net application that connects to Sense Engine API through Proxy.&lt;/P&gt;&lt;P&gt;I want to programmatically apply a filter to a specified App Field, then I want to see the same selection in the same App opened in a web browser (with the same userid used to connecto to Engine API).&lt;/P&gt;&lt;P&gt;In short terms i want to replicate the same behaviour of two different browser while presenting the same App, if I apply a filter in one browser I can see the selection reflected to second browser.&lt;/P&gt;&lt;P&gt;I dont know why this doesen't work for the &lt;STRONG&gt;session opened with Engine API&lt;/STRONG&gt; (it seems a completely separated session).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am sure that field filtering works because if I programmatically create a snapshot after a selection I can see the snapshotted object with the right filter applyed (but for the problem with session if I want to see the snapshot taht I created with ENGINE API I have first to close all opened session for the user then, when i open again the App in a browser, I can see all the snapshots).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code for connection (at the moment I using connection via proxy but I have tryed all possible way to connect with the same result):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_1494603493967518 jive_text_macro" jivemacro_uid="_1494603493967518"&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var aI = location.AppWithId(MyAppId, noVersionCheck: true);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Default session should beshared with clients&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var defaultSession = Session.WithApp(aI, SessionType.Default);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (var app = location.App(aI, session: defaultSession, noVersionCheck: true))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var field = app.GetField(MyFieldName);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (field == null) return false;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = field.Select(value, true);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var extendedSel = app.GetExtendedCurrentSelection();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectedIndex = 0;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var nxDataPage in extendedSel.GetField(&lt;SPAN style="color: rgba(0, 0, 0, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;MyFieldName&lt;/SPAN&gt;).DataPages)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var rows in nxDataPage.Matrix)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var cell = rows.FirstOrDefault();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cell != null)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cell.State == Qlik.Engine.StateEnumType.SELECTED)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectedIndex = cell.ElemNumber;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 May 2017 15:39:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338602#M7608</guid>
      <dc:creator />
      <dc:date>2017-05-12T15:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: Sharing session between Engine API and client</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338603#M7609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know the intrinsic details of the .Net SDK so I can't help you there but perhaps I can shed some light on how session sharing is done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Engine will share sessions between connections if they supply the same route and the same http headers.&lt;/P&gt;&lt;P&gt;Route in this case would be the websocket url such as wss://server/app/guid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When connecting over the Proxy it will inject certain http headers documented here&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.qlik.com/en-US/sense-developer/3.2/Subsystems/ProxyServiceAPI/Content/ProxyServiceAPI/ProxyServiceAPI-Injected-Req-Headers.htm" style="font-size: 10pt;" title="http://help.qlik.com/en-US/sense-developer/3.2/Subsystems/ProxyServiceAPI/Content/ProxyServiceAPI/ProxyServiceAPI-Injected-Req-Headers.htm"&gt;http://help.qlik.com/en-US/sense-developer/3.2/Subsystems/ProxyServiceAPI/Content/ProxyServiceAPI/ProxyServiceAPI-Injected-Req-Headers.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So for your app to be able to share sessions with the connected browser then you would have to supply the same route and emulate the same http headers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 May 2017 17:04:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338603#M7609</guid>
      <dc:creator>Alexander_Thor</dc:creator>
      <dc:date>2017-05-12T17:04:19Z</dc:date>
    </item>
    <item>
      <title>Re: Sharing session between Engine API and client</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338604#M7610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander, thanks for answer.&lt;/P&gt;&lt;P&gt;I am investigating the the differences between headers passed from web browser to the Sense Server the headers that .NET Sdk creates in its request. They are different but I am not so expert in web requests.&lt;/P&gt;&lt;P&gt;Can you help me to understand what headers i have to emulate (&lt;SPAN style="font-size: 13.3333px;"&gt; and if the route, &lt;/SPAN&gt;as you mentioned in your reply, is the part of the string at the right of 'GET' command).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;WEB BROWSER request:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14948555180026102" jivemacro_uid="_14948555180026102"&gt;
&lt;P&gt;&lt;SPAN&gt;GET /sense/app/3772aaff-4027-4b70-8cd9-&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://esqsensedev01.infodati.local/sense/app/3772aaff-4027-4b70-8cd9-5d92d75a0fb6/sheet/Jswag/state/analysis" rel="nofollow" target="_blank"&gt;http://esqsensedev01.infodati.local/sense/app/3772aaff-4027-4b70-8cd9-5d92d75a0fb6/sheet/Jswag/state/analysis&lt;/A&gt;&lt;SPAN&gt; HTTP/1.1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Host: esqsensedev01.infodati.local&lt;/P&gt;
&lt;P&gt;Connection: keep-alive&lt;/P&gt;
&lt;P&gt;Upgrade-Insecure-Requests: 1&lt;/P&gt;
&lt;P&gt;User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36&lt;/P&gt;
&lt;P&gt;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8&lt;/P&gt;
&lt;P&gt;Accept-Encoding: gzip, deflate&lt;/P&gt;
&lt;P&gt;Accept-Language: en-US,en;q=0.8&lt;/P&gt;
&lt;P&gt;Cookie: X-Qlik-Session=6509b2aa-fa42-4d19-99ab-79686b2637d9&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;HTTP/1.1 200 OK&lt;/P&gt;
&lt;P&gt;Cache-Control: public, must-revalidate, max-age=0&lt;/P&gt;
&lt;P&gt;Transfer-Encoding: chunked&lt;/P&gt;
&lt;P&gt;Content-Type: text/html;charset=utf-8&lt;/P&gt;
&lt;P&gt;Content-Encoding: gzip&lt;/P&gt;
&lt;P&gt;Expires: Mon, 01 Jan 0001 00:00:00 GMT&lt;/P&gt;
&lt;P&gt;Last-Modified: Wed, 10 May 2017 11:34:40 GMT&lt;/P&gt;
&lt;P&gt;Accept-Ranges: bytes&lt;/P&gt;
&lt;P&gt;ETag: 636300128800000000&lt;/P&gt;
&lt;P&gt;Server: Microsoft-HTTPAPI/2.0&lt;/P&gt;
&lt;P&gt;X-UA-Compatible: IE=edge&lt;/P&gt;
&lt;P&gt;Date: Mon, 15 May 2017 15:22:41 GMT&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Access-Control-Allow-Origin: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://esqsensedev01.infodati.local" rel="nofollow" target="_blank"&gt;http://esqsensedev01.infodati.local&lt;/A&gt;&lt;/P&gt;

&lt;/PRE&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14949216488869015" jivemacro_uid="_14949216488869015"&gt;
&lt;P&gt;Date: Mon, 15 May 2017 15:22:41 GMT&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Access-Control-Allow-Origin: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://esqsensedev01.infodati.local" rel="nofollow" target="_blank"&gt;http://esqsensedev01.infodati.local&lt;/A&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.NET SDK request:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14948555378212032" jivemacro_uid="_14948555378212032"&gt;
&lt;P&gt;GET /app/?reloadUri=http%3a%2f%2fesqsensedev01.infodati.local%2fapp%2f HTTP/1.1&lt;/P&gt;
&lt;P&gt;Host: esqsensedev01.infodati.local:80&lt;/P&gt;
&lt;P&gt;Upgrade: websocket&lt;/P&gt;
&lt;P&gt;Connection: Upgrade&lt;/P&gt;
&lt;P&gt;Sec-WebSocket-Key: NmE2MGEwOGYtMjZhNC00YWY2LWIyNmItYWM1MzgyZWQ2YmE2&lt;/P&gt;
&lt;P&gt;Sec-WebSocket-Origin: localhost&lt;/P&gt;
&lt;P&gt;Sec-WebSocket-Version: 13&lt;/P&gt;
&lt;P&gt;User-Agent: NoBrowser Windows&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Origin: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://esqsensedev01.infodati.local/" rel="nofollow" target="_blank"&gt;http://esqsensedev01.infodati.local&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;X-Qlik-Session: /&lt;/P&gt;
&lt;P&gt;Cookie: X-Qlik-Session=2976e7a3-3f55-4e5c-9b7c-336a921ecb8d&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;HTTP/1.1 101 Switching Protocols&lt;/P&gt;
&lt;P&gt;Upgrade: websocket&lt;/P&gt;
&lt;P&gt;Connection: Upgrade&lt;/P&gt;
&lt;P&gt;Sec-WebSocket-Accept: rmwLxWGl/jwgGZChP4giR6Dn1P0=&lt;/P&gt;
&lt;P&gt;Access-Control-Allow-Origin: ws://esqsensedev01.infodati.local&lt;/P&gt;

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 May 2017 13:51:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338604#M7610</guid>
      <dc:creator />
      <dc:date>2017-05-15T13:51:58Z</dc:date>
    </item>
    <item>
      <title>Re: Sharing session between Engine API and client</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338605#M7611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fabio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wondering if you ever cracked this? I am looking for the exact same thing, but using Node.js (via enigma.js package) to connect to the user’s session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lindy Brits. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2018 01:23:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338605#M7611</guid>
      <dc:creator>lindybrits</dc:creator>
      <dc:date>2018-10-26T01:23:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sharing session between Engine API and client</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338606#M7612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I faced your problem a while ago (now I'm having the same issue in &lt;A _jive_internal="true" href="https://community.qlik.com/message/1563245#1563245"&gt;JavaScript &lt;/A&gt;-.-) but I came to an solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Uses NTLM to authenticate, chooses whether it's desktop or enterprise. Get's the default app session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Connect:&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15405717481791214" jivemacro_uid="_15405717481791214"&gt;
&lt;P&gt;Uri absolutURI = new Uri(this.host);&lt;/P&gt;
&lt;P&gt;this.hostLocation = Qlik.Engine.Location.FromUri(absolutURI);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;if (this.isQlikSenseDesktop)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; this.hostLocation.AsDirectConnectionToPersonalEdition();&lt;/P&gt;
&lt;P&gt;else&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; this.hostLocation.AsNtlmUserViaProxy(true, null, false);&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Open App:&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15405718706642039 jive_text_macro" jivemacro_uid="_15405718706642039"&gt;
&lt;P&gt;this.appID = this.hostLocation.AppWithNameOrDefault("NameofyourApp", noVersionCheck: true);&lt;/P&gt;
&lt;P&gt;if (appID != null)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; this.appSession = SessionType.Default;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; ISession appSession = Session.WithApp(this.appID, this.appSession);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; this.app = (App)hostLocation.App(this.appID, appSession, noData: false, noVersionCheck: true);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Filter App:&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15405720841037631" jivemacro_uid="_15405720841037631"&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; this.app.GetField("YourField").Select("ValueToFilter");&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get all filters:&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15405724453387338 jive_text_macro" jivemacro_uid="_15405724453387338" modifiedtitle="true"&gt;
&lt;P&gt;a&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;var extendedCurrentSelection = this.app.GetExtendedCurrentSelection();&lt;/P&gt;
&lt;P&gt;foreach (var field in extendedCurrentSelection.FieldNames)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;NxDataPage&amp;gt; pages = extendedCurrentSelection.GetSelectedData(field, new[]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extendedCurrentSelection.Size(field).AsPage(100)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var dataPage in pages)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;NxCell&amp;gt; Cells = dataPage.AllCells();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var tmpVal in Cells)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Selected value : " + tmpVal.Text);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have further questions let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greetings.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2018 16:45:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Sharing-session-between-Engine-API-and-client/m-p/1338606#M7612</guid>
      <dc:creator>chrislemm</dc:creator>
      <dc:date>2018-10-26T16:45:20Z</dc:date>
    </item>
  </channel>
</rss>

