<?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 Import App via QRS and Powershell in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046437#M4331</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Following node.js code works fine in my environment:&lt;/P&gt;&lt;P&gt;It imports an qvf file which is named as &lt;EM&gt;FindLongLat.qvf &lt;/EM&gt;into qliksense server as an app which is named as &lt;EM&gt;FindLongLatImported.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;var https = require('https');&lt;/P&gt;&lt;P&gt;var fs = require('fs');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var options = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rejectUnauthorized": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; hostname: '&amp;lt;hostname&amp;gt;',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; path: '/qrs/app/import?xrfkey=0123456789abcdef&amp;amp;name=&lt;EM&gt;FindLongLatImported&lt;/EM&gt;',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; method: 'POST',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; port:4242,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers: {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'x-qlik-xrfkey' : '0123456789abcdef',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'X-Qlik-User' : 'UserDirectory= Internal; UserId= sa_repository',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Type': 'application/json'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; key: fs.readFileSync("C:\\client_key.pem"),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; cert: fs.readFileSync("C:\\client.pem"),&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var req = https.request(options, function (res) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var responseString = "";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res.on("data", function (data) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; responseString += data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res.on("end", function () {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(responseString);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;req.write('&lt;STRONG&gt;"&lt;/STRONG&gt;&lt;EM&gt;FindLongLat.qvf&lt;/EM&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;'); &lt;/P&gt;&lt;P&gt;req.end();&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that the catch is the double quotes around the qvf file name which is passed as body to the request.&lt;/P&gt;&lt;P&gt;So, &lt;EM&gt;req.write('FindLongLat.qvf') &lt;/EM&gt; does NOT work, whereas&lt;EM&gt; req.write('&lt;STRONG&gt;"&lt;/STRONG&gt;FindLongLat.qvf&lt;STRONG&gt;"&lt;/STRONG&gt;')&lt;/EM&gt; works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Mar 2016 22:08:00 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-03-18T22:08:00Z</dc:date>
    <item>
      <title>QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046430#M4324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to get Powershell to import an App on the central node of a QS 2.1.1 deployment. It is multi-node (if that makes any difference).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So far, I have successfully set up a Virtual Proxy for header auth and tested it using such commands as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;server&amp;gt;/qrs/user/count?xrfkey=&amp;lt;xrfkey&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and all the relevant headers. This powershell script is based on &lt;A href="https://community.qlik.com/docs/DOC-13985"&gt;QRSAPI - Remove Unwanted Users with PowerShell&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, when I come to use the "&lt;EM&gt;/qrs/app/import?name={name}&amp;amp;keepdata={keepdata}&amp;amp;replace={replace}&lt;/EM&gt;" call&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;API ref: &lt;A href="https://help.qlik.com/sense/2.1/en-US/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-App-Import-App.htm%3FTocPath%3DQlik%2520Sense%2520APIs%2520and%2520SDKs|Qlik%2520Sense%2520Repository%2520Service%2520API|API%2520paths|_____23" title="https://help.qlik.com/sense/2.1/en-US/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-App-Import-App.htm%3FTocPath%3DQlik%2520Sense%2520APIs%2520and%2520SDKs|Qlik%2520Sense%2520Repository%2520Service%2520API|API%2520paths|_____23"&gt;https://help.qlik.com/sense/2.1/en-US/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/Reposit…&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: line-through;"&gt;I'm getting a "The remote server returned an error: (403) Forbidden." response.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I'm getting a "The remote server returned an error: (400) Bad Request" (I'd missed off the xrfkey in the above error on this specific call - doh)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The App is in &lt;SPAN class="path"&gt;&lt;SPAN class="QRSAPISpecificPath_ProgramData"&gt;%ProgramData%&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="path"&gt;\Qlik\Sense\Apps folder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;Details:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;----------&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;SPAN&gt;POST request to: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://community.qlik.com/" rel="nofollow"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;machinename&amp;gt;/&amp;lt;prefix&amp;gt;/qrs/app/import?name=&amp;lt;app name to be assigned&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;EM&gt;Xrfkey&lt;/EM&gt;, &lt;EM&gt;UserId&lt;/EM&gt; and headers required by the &lt;SPAN class="path"&gt;virtual proxy&lt;/SPAN&gt; have all been set correctly (I believe).&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;body = "{&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; 'id':'00000000-0000-0000-0000-000000000000',&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; 'columns':&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; {&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; 'name':'current_filename.qvf',&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; }"&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;content type = "application/json"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;I'm pretty certain that it is down to my usage of this API call as GET requests seem to work fine. Can anyone help please?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="path"&gt;Dave&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Feb 2016 23:21:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046430#M4324</guid>
      <dc:creator />
      <dc:date>2016-02-03T23:21:13Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046431#M4325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;frist try this &lt;A href="https://community.qlik.com/message/952143"&gt;Import app example&lt;/A&gt; so you can check if its working on you server. Than you can go the next step and do it with PowerShell.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye&lt;/P&gt;&lt;P&gt;Konrad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Feb 2016 06:05:40 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046431#M4325</guid>
      <dc:creator>konrad_mattheis</dc:creator>
      <dc:date>2016-02-05T06:05:40Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046432#M4326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Konrad, we've got powershell to work with GETs and POSTs using a Virtual Proxy for header auth, so we know it's not a config issue. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We currently believe the problem is in the format of the POST for the specific API call to &lt;EM&gt;import&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This works:&lt;/STRONG&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;PS&amp;gt; QRScall.ps1&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN&gt;Command: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;server.com&amp;gt;/&amp;lt;proxy_prefix&amp;gt;/qrs/license/requestaccesstype?Xrfkey=blah&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Content-Type: application/json&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Method: POST&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Body: {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; "sessionID": "xxxxxxx",&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; "hosttname": "[localhost, local]"&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;accessGranted&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; accessType&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; accessTypeResultCode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; schemaPath&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; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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;&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;&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;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;False&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; 0&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; 3&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;&amp;nbsp; AccessTypeResult&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This doesn't:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;PS&amp;gt; QRScall.ps1&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN&gt;Command: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;server.com&amp;gt;/&amp;lt;proxy_prefix&amp;gt;/qrs/import?name=AppName?Xrfkey=blah&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Content-Type: application/json&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Method: POST&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Body: {"name":"example.qvf"}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Invoke-RestMethod : The remote server returned an error: (400) Bad Request.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;At QRScall:64 char:21&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $response = Invoke-RestMethod $command -ContentType $contenttype -Header ...&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only difference was the call URL and the content of body in the post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Feb 2016 16:30:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046432#M4326</guid>
      <dc:creator />
      <dc:date>2016-02-05T16:30:04Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046433#M4327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dave,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to help you I would sugest 2 different things:&lt;/P&gt;&lt;P&gt;1. you attach your PS scripts or send them direct to me.&lt;/P&gt;&lt;P&gt;2. you try to make the upload with curl, if it is working use tools like fiddler / wireshark to record the real traffic between the server and the script for the curl upload and your ps1 upload and attach this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye Konrad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Feb 2016 10:47:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046433#M4327</guid>
      <dc:creator>konrad_mattheis</dc:creator>
      <dc:date>2016-02-06T10:47:15Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046434#M4328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Konrad,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help. I finally got it working remotely, using Python's request module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One thing to note: even if it the docs say the body should be a string, actually, by submitting it as a json of a string, it worked. I appreciate there are a lot of API calls, so this might not always be the case, but it is for the import call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Feb 2016 22:01:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046434#M4328</guid>
      <dc:creator />
      <dc:date>2016-02-15T22:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046435#M4329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would you happen to have a code example to share for the Import POST call?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Struggling with the same thing here (actually looking to use the Upload call but figured once I get the Import working that should be easier to manage) and I'm running into the same issues as you I think.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Johannes&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Feb 2016 07:40:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046435#M4329</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-02-16T07:40:23Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046436#M4330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johannes,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the slow reply, but here is what works with Python:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="container" title="Hint: double-click to select code"&gt;&lt;/P&gt;&lt;DIV class="line number1 alt2 index0"&gt;&lt;CODE class="plain py"&gt;xrfkey &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;{&lt;/CODE&gt;&lt;CODE class="py string"&gt;'key'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;: &lt;/CODE&gt;&lt;CODE class="py string"&gt;'Xrfkey'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;, &lt;/CODE&gt;&lt;CODE class="py string"&gt;'value'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;: &lt;/CODE&gt;&lt;CODE class="py string"&gt;'&amp;lt;something&amp;gt;'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;}&lt;/CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="plain py"&gt;headers &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;{&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number3 index2 alt2"&gt;&lt;CODE class="py spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="py string"&gt;'X-Qlik-Xrfkey'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;: &lt;/CODE&gt;&lt;CODE class="py string"&gt;'&amp;lt;something&amp;gt;'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;,&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="py spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="py string"&gt;'Content-Type'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;: &lt;/CODE&gt;&lt;CODE class="py string"&gt;'application/json'&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index4 line alt2 number5"&gt;&lt;CODE class="py spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="py string"&gt;'Accept'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;: &lt;/CODE&gt;&lt;CODE class="py string"&gt;'application/json, text/plain, */*'&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index5 alt1 number6"&gt;&lt;CODE class="plain py"&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number7 alt2 index6"&gt;&lt;/P&gt;&lt;P class="line number8 alt1 index7"&gt;&lt;CODE class="plain py"&gt;path_to_cert &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;&amp;lt;path to cert&amp;gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number9 index8 alt2"&gt;&lt;CODE class="plain py"&gt;path_to_cert_key &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;&amp;lt;path to cert key&amp;gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line alt1 index9 number10"&gt;&lt;/P&gt;&lt;P class="index10 line alt2 number11"&gt;&lt;CODE class="plain py"&gt;AppName &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="py string"&gt;'target name'&lt;/CODE&gt;&lt;CODE class="py comments"&gt;# what it will appear as in QS.&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index11 alt1 number12"&gt;&lt;CODE class="plain py"&gt;payload &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="py string"&gt;'filename'&lt;/CODE&gt;&lt;CODE class="py comments"&gt;# that has already been moved to the PROGRAMDATA\Qlik\Sense\Apps folder, filename is a string at this point&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index12 number13 alt2"&gt;&lt;/P&gt;&lt;P class="line number14 alt1 index13"&gt;&lt;/P&gt;&lt;P class="line number15 index14 alt2"&gt;&lt;CODE class="plain py"&gt;qrs_url &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="py string"&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;domain_name&amp;gt;:4242/qrs/app/import?'&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;+&lt;/CODE&gt;&lt;CODE class="plain py"&gt;xrfkey[&lt;/CODE&gt;&lt;CODE class="py string"&gt;'key'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;] &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;+&lt;/CODE&gt;&lt;CODE class="py string"&gt;'='&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;+&lt;/CODE&gt;&lt;CODE class="plain py"&gt;xrfkey[&lt;/CODE&gt;&lt;CODE class="py string"&gt;'value'&lt;/CODE&gt;&lt;CODE class="plain py"&gt;] &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;+&lt;/CODE&gt;&lt;CODE class="py string"&gt;'&amp;amp;name=&amp;lt;AppName&amp;gt;&amp;amp;keepdata=true'&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number16 alt1 index15"&gt;&lt;/P&gt;&lt;P class="number17 line alt2 index16"&gt;&lt;CODE class="py comments"&gt;# using json=payload ensure the string is encoded to JSON, which the QRS wants - it would not work for us as a string.&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index17 alt1 number18"&gt;&lt;CODE class="plain py"&gt;result &lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;requests.post(&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index18 line alt2 number19"&gt;&lt;CODE class="py spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="plain py"&gt;qrs_url, json&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;payload, cert&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="plain py"&gt;(&lt;/CODE&gt;&lt;CODE class="py color1"&gt;self&lt;/CODE&gt;&lt;CODE class="plain py"&gt;.path_to_cert, &lt;/CODE&gt;&lt;CODE class="py color1"&gt;self&lt;/CODE&gt;&lt;CODE class="plain py"&gt;.path_to_cert_key), headers&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="py color1"&gt;self&lt;/CODE&gt;&lt;CODE class="plain py"&gt;.headers, verify&lt;/CODE&gt;&lt;CODE class="py keyword"&gt;=&lt;/CODE&gt;&lt;CODE class="py color1"&gt;False&lt;/CODE&gt;&lt;CODE class="plain py"&gt;,&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index19 alt1 number20"&gt;&lt;CODE class="plain py"&gt;)&lt;/CODE&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;Notes: we are using certificates, not the header authentication proxy.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Kind Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Dave&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Mar 2016 16:31:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046436#M4330</guid>
      <dc:creator />
      <dc:date>2016-03-04T16:31:06Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046437#M4331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Following node.js code works fine in my environment:&lt;/P&gt;&lt;P&gt;It imports an qvf file which is named as &lt;EM&gt;FindLongLat.qvf &lt;/EM&gt;into qliksense server as an app which is named as &lt;EM&gt;FindLongLatImported.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;var https = require('https');&lt;/P&gt;&lt;P&gt;var fs = require('fs');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var options = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rejectUnauthorized": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; hostname: '&amp;lt;hostname&amp;gt;',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; path: '/qrs/app/import?xrfkey=0123456789abcdef&amp;amp;name=&lt;EM&gt;FindLongLatImported&lt;/EM&gt;',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; method: 'POST',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; port:4242,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers: {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'x-qlik-xrfkey' : '0123456789abcdef',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'X-Qlik-User' : 'UserDirectory= Internal; UserId= sa_repository',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Type': 'application/json'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; key: fs.readFileSync("C:\\client_key.pem"),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; cert: fs.readFileSync("C:\\client.pem"),&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var req = https.request(options, function (res) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var responseString = "";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res.on("data", function (data) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; responseString += data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res.on("end", function () {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(responseString);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;req.write('&lt;STRONG&gt;"&lt;/STRONG&gt;&lt;EM&gt;FindLongLat.qvf&lt;/EM&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;'); &lt;/P&gt;&lt;P&gt;req.end();&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that the catch is the double quotes around the qvf file name which is passed as body to the request.&lt;/P&gt;&lt;P&gt;So, &lt;EM&gt;req.write('FindLongLat.qvf') &lt;/EM&gt; does NOT work, whereas&lt;EM&gt; req.write('&lt;STRONG&gt;"&lt;/STRONG&gt;FindLongLat.qvf&lt;STRONG&gt;"&lt;/STRONG&gt;')&lt;/EM&gt; works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2016 22:08:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046437#M4331</guid>
      <dc:creator />
      <dc:date>2016-03-18T22:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046438#M4332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dave,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the similar code and facing an issue -- Call failed with code: 400, "The specified filename is invalid." Did you ever face this problem ? I am exactly using the same code as you have mentioned in python script !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Raghuveer G.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2017 10:51:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046438#M4332</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-04-27T10:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046439#M4333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raghuveer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I didn't have a problem in Python, can you tell me which file it is trying to/should access? If you can share the code that would be even better.&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;Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2017 15:33:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046439#M4333</guid>
      <dc:creator />
      <dc:date>2017-04-27T15:33:00Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046440#M4334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Dave for quick response. I could solve the issue. The issue was with the file location where it was kept. I kept the file at \ProgramData\Qlik\Sense\Apps\ location. But form 3.0 onwards we need to keep the file based on the user in \ProgramData\Qlik\Sense\Apps\&amp;lt;LoginDomain&amp;gt;\&amp;lt;user&amp;gt;\ folder. After I moved the file to this location, it got imported successfully. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Apr 2017 04:37:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/1046440#M4334</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-04-28T04:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: QlikSense Import App via QRS and Powershell</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/2145487#M19582</link>
      <description>&lt;P&gt;Thanks. This helps.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;File needs to be kept under login domain user otherwise it gives "The specified filename is invalid." error and you won't able to figure out issue from description.&lt;/P&gt;
&lt;P&gt;This should be added in documentation.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Dec 2023 20:44:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/QlikSense-Import-App-via-QRS-and-Powershell/m-p/2145487#M19582</guid>
      <dc:creator>jainisha</dc:creator>
      <dc:date>2023-12-07T20:44:45Z</dc:date>
    </item>
  </channel>
</rss>

