<?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: QlikSense C# SDK: Get stream name from IAppIdentifier in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699697#M12746</link>
    <description>&lt;P&gt;Properties that are part of the json response from the engine, but that are not mapped directly to C# properties of the encapsulating classes in the SDK can be accessed using the generic AbstractStructure methods. In your case, the code would look something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var streamDef = appIdentifier.Meta?.Get&amp;lt;AbstractStructure&amp;gt;("stream");
var streamId = streamDef?.Get&amp;lt;string&amp;gt;("id");
var streamName = streamDef?.Get&amp;lt;string&amp;gt;("name");&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reason why the stream object is not always there is simply because not all apps are published to a stream.&lt;/P&gt;&lt;P&gt;You can read more about the AbstractStructure concept here:&lt;/P&gt;&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/HowTos/Net-Sdk-How-To-Abstarct-Structure.htm" target="_blank" rel="noopener"&gt;https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/HowTos/Net-Sdk-How-To-Abstarct-Structure.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/CodeExamples/Abstract-Structure.htm" target="_blank" rel="noopener"&gt;https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/CodeExamples/Abstract-Structure.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Feb 2021 10:18:02 GMT</pubDate>
    <dc:creator>Øystein_Kolsrud</dc:creator>
    <dc:date>2021-02-04T10:18:02Z</dc:date>
    <item>
      <title>QlikSense C# SDK: Get stream name from IAppIdentifier</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699662#M12745</link>
      <description>&lt;P&gt;Hello Folks,&lt;/P&gt;&lt;P&gt;Given that I've got an IAppIdentifier, how do I go about getting the stream name?&amp;nbsp; I'm seeing there is an NxMeta object as the Meta property.&amp;nbsp; Sometimes I see a stream name, other times I don't.&amp;nbsp; I know I can get it from an App object, but I'd rather avoid "Apping" all the IAppIdentifiers if I don't have to.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JustinDallas_0-1588832642266.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/33093iDD6EA2D6160BB06C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JustinDallas_0-1588832642266.png" alt="JustinDallas_0-1588832642266.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 02:30:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699662#M12745</guid>
      <dc:creator>JustinDallas</dc:creator>
      <dc:date>2024-11-16T02:30:01Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense C# SDK: Get stream name from IAppIdentifier</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699697#M12746</link>
      <description>&lt;P&gt;Properties that are part of the json response from the engine, but that are not mapped directly to C# properties of the encapsulating classes in the SDK can be accessed using the generic AbstractStructure methods. In your case, the code would look something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var streamDef = appIdentifier.Meta?.Get&amp;lt;AbstractStructure&amp;gt;("stream");
var streamId = streamDef?.Get&amp;lt;string&amp;gt;("id");
var streamName = streamDef?.Get&amp;lt;string&amp;gt;("name");&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reason why the stream object is not always there is simply because not all apps are published to a stream.&lt;/P&gt;&lt;P&gt;You can read more about the AbstractStructure concept here:&lt;/P&gt;&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/HowTos/Net-Sdk-How-To-Abstarct-Structure.htm" target="_blank" rel="noopener"&gt;https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/HowTos/Net-Sdk-How-To-Abstarct-Structure.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/CodeExamples/Abstract-Structure.htm" target="_blank" rel="noopener"&gt;https://help.qlik.com/en-US/sense-developer/April2020/Subsystems/NetSDKAPI/Content/Sense_NetSDKAPI/CodeExamples/Abstract-Structure.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Feb 2021 10:18:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699697#M12746</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2021-02-04T10:18:02Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense C# SDK: Get stream name from IAppIdentifier</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699699#M12747</link>
      <description>&lt;P&gt;But if you are going to work with that type of app meta data, then you might want to have a look at the QRS API. It provides more flexibility including filtering and ordering that is not available through the engine API. I recently posted this reply on another thread describing how to use that API to get the owners of the apps in C#. Getting stream information is very similar.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Sense-Integration-Extensions-APIs/Qlik-c-SDK-Get-App-owner/m-p/1698278#M12710" target="_blank"&gt;https://community.qlik.com/t5/Qlik-Sense-Integration-Extensions-APIs/Qlik-c-SDK-Get-App-owner/m-p/1698278#M12710&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2020 07:43:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699699#M12747</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2020-05-07T07:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense C# SDK: Get stream name from IAppIdentifier</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699831#M12748</link>
      <description>&lt;P&gt;I'll probably end up using the Rest API.&amp;nbsp; It seemed like some things were only available through the C# API (QlikEngine).&amp;nbsp; And while I didn't want to mix the two implementations, I may have to for the sake of simplicity and being reasonable.&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2020 13:35:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699831#M12748</guid>
      <dc:creator>JustinDallas</dc:creator>
      <dc:date>2020-05-07T13:35:12Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense C# SDK: Get stream name from IAppIdentifier</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699998#M12750</link>
      <description>&lt;P&gt;In general it is the case that app meta data, like owner and stream, is the responsibility of the Repository service while the app contents is the responsibility of the Engine. But as you have seen, there is a certain overlap. But leveraging two different APIs here is not necessarily a bad thing.&lt;/P&gt;&lt;P&gt;If you want to use the library I mentioned in the other thread I linked to, then the code would look something like this (using Newtonsoft for Json handling):&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var client = new RestClient(url);
client.AsNtlmUserViaProxy();
var apps = JArray.Parse(client.Get("/qrs/app"));
var appsAndStreams = apps.Select(app =&amp;gt; (app["id"], app["stream"]));&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2020 20:55:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-C-SDK-Get-stream-name-from-IAppIdentifier/m-p/1699998#M12750</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2020-05-07T20:55:32Z</dc:date>
    </item>
  </channel>
</rss>

