{"id":4410,"date":"2018-07-10T21:59:40","date_gmt":"2018-07-10T21:59:40","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=4410"},"modified":"2023-06-14T15:26:48","modified_gmt":"2023-06-14T15:26:48","slug":"qlik-rest-connector-examples-read-json-xml-api","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/","title":{"rendered":"Qlik REST Connector Examples &#8211; Read JSON \/ XML API"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-4420\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense-150x150.png\" alt=\"QlikSense logo\" width=\"107\" height=\"107\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense-150x150.png 150w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png 224w\" sizes=\"(max-width: 107px) 100vw, 107px\" \/><\/a>In this article, we will learn to create a Qlik REST connector to OneDrive, Google, and other services.<\/p>\n<p>Qlik is a very powerful tool to analyze data from multiple sources and\u00a0visualize, create relations and charts. It is a simple, but powerful tool used\u00a0to visualize data.<\/p>\n<p>In this tutorial, we will show how to get data from the REST API in Qlik. We will\u00a0use the ZappySys <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ODBC PowerPack<\/a> which is a very useful tool used to get data\u00a0from REST API, WEB API, JSON files, XML files, SOAP and OData using simple SQL queries to the data.<br \/>\nThis article will show how to extract data from Facebook, Twitter, and Google\u00a0Sheets in Qlik using REST API.<\/p>\n<h2>Requirements for Qlik REST connector<\/h2>\n<ol>\n<li>First of all, you will need Qlik Sense for Desktop.<\/li>\n<li>Secondly, <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys ODBC PowerPack<\/a> installed.<\/li>\n<\/ol>\n<h2>Getting started &#8211; Reading data form API<\/h2>\n<p>We will first show how to connect to OData in JSON format.<\/p>\n<h3>Configure ODBC Data Source for API Connection<\/h3>\n<ol>\n<li>First of all, we will access the following URL:\n<pre class=\"lang:default highlight:0 decode:true\">https:\/\/services.odata.org\/V3\/Northwind\/Northwind.svc\/Orders?$format=json<\/pre>\n<\/li>\n<li>Secondly, in the windows start menu, Search for \u201cODBC\u201d open the ODBC Data Sources.<\/li>\n<li>Also, in the ODBC Administrator, press Add and select the ZappySys JSON<br \/>\nDriver:<\/p>\n<div id=\"attachment_4421\" style=\"width: 471px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-new-data-source-zappysys-json-driver.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4421\" class=\"wp-image-4421 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-new-data-source-zappysys-json-driver.png\" alt=\"REST API ODBC \" width=\"461\" height=\"346\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-new-data-source-zappysys-json-driver.png 461w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/create-new-data-source-zappysys-json-driver-300x225.png 300w\" sizes=\"(max-width: 461px) 100vw, 461px\" \/><\/a><p id=\"caption-attachment-4421\" class=\"wp-caption-text\">Add ODBC JSON<\/p><\/div><\/li>\n<li>Finally, specify the URL of step 1 and save the configuration:\n<div id=\"attachment_4422\" style=\"width: 812px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/Qlik-odata-url-odbc.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4422\" class=\"size-full wp-image-4422\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/Qlik-odata-url-odbc.png\" alt=\"REST API\" width=\"802\" height=\"702\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/Qlik-odata-url-odbc.png 802w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/Qlik-odata-url-odbc-300x263.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/Qlik-odata-url-odbc-768x672.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/a><p id=\"caption-attachment-4422\" class=\"wp-caption-text\">URL ODBC<\/p><\/div><\/li>\n<\/ol>\n<h3>Reading REST API data in Qlik (via ODBC Connector)<\/h3>\n<ol>\n<li>First of all, open the Qlik Sense Desktop:\n<div id=\"attachment_4424\" style=\"width: 343px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4424\" class=\"size-full wp-image-4424\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-rest-api.png\" alt=\"Windows open Qlik Sense Desktop\" width=\"333\" height=\"667\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-rest-api.png 333w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-rest-api-150x300.png 150w\" sizes=\"(max-width: 333px) 100vw, 333px\" \/><\/a><p id=\"caption-attachment-4424\" class=\"wp-caption-text\">Open Qlik Sense<\/p><\/div>\n<div class=\"mceTemp\"><\/div>\n<\/li>\n<li>Secondly, enter your login and password:\n<div id=\"attachment_10116\" style=\"width: 781px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-desktop-login-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10116\" class=\"wp-image-10116 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-desktop-login-1.png\" alt=\"qlik-desktop-login\" width=\"771\" height=\"523\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-desktop-login-1.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-desktop-login-1-300x204.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-desktop-login-1-768x521.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><p id=\"caption-attachment-10116\" class=\"wp-caption-text\">Login to Qlik Sense<\/p><\/div><\/li>\n<li>Also, create a new App:\n<div id=\"attachment_4425\" style=\"width: 734px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-create-app.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4425\" class=\"size-full wp-image-4425\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-create-app.png\" alt=\"Qlik Sense create app\" width=\"724\" height=\"270\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-create-app.png 724w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-create-app-300x112.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-create-app-720x270.png 720w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/a><p id=\"caption-attachment-4425\" class=\"wp-caption-text\">Create new app Qlik Sense<\/p><\/div><\/li>\n<li>Additionally, enter your App name:\n<div id=\"attachment_4426\" style=\"width: 507px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-create-new-app-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4426\" class=\"size-full wp-image-4426\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-create-new-app-rest-api.png\" alt=\"Qlik Sense add aplication name\" width=\"497\" height=\"195\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-create-new-app-rest-api.png 497w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-create-new-app-rest-api-300x118.png 300w\" sizes=\"(max-width: 497px) 100vw, 497px\" \/><\/a><p id=\"caption-attachment-4426\" class=\"wp-caption-text\">Add new Qlik create app<\/p><\/div><\/li>\n<li>In addition, select the option Add data from files and other sources:\n<div id=\"attachment_4427\" style=\"width: 1101px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4427\" class=\"size-full wp-image-4427\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc.png\" alt=\"Button to add data\" width=\"1091\" height=\"568\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc.png 1091w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc-300x156.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc-768x400.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-add-data-rest-api-odbc-1024x533.png 1024w\" sizes=\"(max-width: 1091px) 100vw, 1091px\" \/><\/a><p id=\"caption-attachment-4427\" class=\"wp-caption-text\">Add data from files and folders<\/p><\/div><\/li>\n<li>Select the ODBC data source:\n<div id=\"attachment_4428\" style=\"width: 1105px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4428\" class=\"size-full wp-image-4428\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source.png\" alt=\"ODBC connector in Qlik\" width=\"1095\" height=\"664\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source.png 1095w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source-300x182.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source-768x466.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-odbc-data-source-1024x621.png 1024w\" sizes=\"(max-width: 1095px) 100vw, 1095px\" \/><\/a><p id=\"caption-attachment-4428\" class=\"wp-caption-text\">Select ODBC connector<\/p><\/div><\/li>\n<li>Also, select the ZappySys DSN created in the Create Qlik REST connector to OData:\n<div id=\"attachment_4430\" style=\"width: 589px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-select-ODBC-DSN.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4430\" class=\"size-full wp-image-4430\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-select-ODBC-DSN.png\" alt=\"Select Qlik REST connector\" width=\"579\" height=\"394\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-select-ODBC-DSN.png 579w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-select-ODBC-DSN-300x204.png 300w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><\/a><p id=\"caption-attachment-4430\" class=\"wp-caption-text\">Qlik REST connector<\/p><\/div><\/li>\n<li>Finally, you will be able to see the data and create graphs and more.\u00a0For more information about Qlik Sense refer to\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=IyI6dxWrWcc&amp;list=PLW1uf5CQ_gSrO7bIgP1xF0HowDXnG1S6l\">this link<\/a>.\n<div id=\"attachment_4431\" style=\"width: 1075px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4431\" class=\"size-full wp-image-4431\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed.png\" alt=\"Visualize Odata in Qlik\" width=\"1065\" height=\"460\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed.png 1065w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed-300x130.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed-768x332.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/odbc-data-displayed-1024x442.png 1024w\" sizes=\"(max-width: 1065px) 100vw, 1065px\" \/><\/a><p id=\"caption-attachment-4431\" class=\"wp-caption-text\">Qlik to Odata<\/p><\/div><\/li>\n<\/ol>\n<h2>Other REST API Examples in Qlik<\/h2>\n<p>Now lets look at a\u00a0few more examples of other popular REST API services (JSON or XML API).<\/p>\n<h3>Google SpreadSheet \/ Drive API Example in Qlik<\/h3>\n<p>In this new example, we will connect to a Google Sheet. The Sheet is the<br \/>\nfollowing:<\/p>\n<div id=\"attachment_4433\" style=\"width: 298px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-google-sheet.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4433\" class=\"size-full wp-image-4433\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-google-sheet.png\" alt=\" REST API Google Drive\" width=\"288\" height=\"284\" \/><\/a><p id=\"caption-attachment-4433\" class=\"wp-caption-text\">Qlik to Google Sheet<\/p><\/div>\n<ol>\n<li>First of all, create a new ZappySys JSON Driver Connection in the ODBC.<\/li>\n<li>Secondly, you will need to specify the following link:\n<pre class=\"lang:default highlight:0 decode:true \">https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/1yfNChaljZvAL-HXF4lmM4o16Paa_BZuBWSflgBssZAQ\/values\/A1:B4<\/pre>\n<p>where 1yfNChaljZvAL-HXF4lmM4o16Paa_BZuBWSflgBssZAQ is the ID of the Google\u00a0Sheet and A1:B4 are the ranges of cells to retrieve:<\/p>\n<div id=\"attachment_4434\" style=\"width: 808px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-sheet-id-for-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4434\" class=\"size-full wp-image-4434\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-sheet-id-for-rest-api.png\" alt=\"File id in Google Drive\" width=\"798\" height=\"32\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-sheet-id-for-rest-api.png 798w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-sheet-id-for-rest-api-300x12.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-sheet-id-for-rest-api-768x31.png 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/><\/a><p id=\"caption-attachment-4434\" class=\"wp-caption-text\">Google file id<\/p><\/div><\/li>\n<li>Also, in filter enter $.values[*] and select the OAuth Connection Type\u00a0and press the link to configure the OAuth connection:\n<div id=\"attachment_4432\" style=\"width: 969px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-odbc-google-drive-filter.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4432\" class=\"size-full wp-image-4432\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-odbc-google-drive-filter.png\" alt=\"REST API url drive\" width=\"959\" height=\"702\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-odbc-google-drive-filter.png 959w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-odbc-google-drive-filter-300x220.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/rest-api-odbc-google-drive-filter-768x562.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><p id=\"caption-attachment-4432\" class=\"wp-caption-text\">Google drive url<\/p><\/div><\/li>\n<li>In addition, select Google OAuth Provider and specify the following\u00a0scope and Generate a Token:\n<div id=\"attachment_4435\" style=\"width: 596px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-rest-api-scopes-token.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4435\" class=\"size-full wp-image-4435\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-rest-api-scopes-token.png\" alt=\"Qlink Sense REST API\" width=\"586\" height=\"493\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-rest-api-scopes-token.png 586w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-rest-api-scopes-token-300x252.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><p id=\"caption-attachment-4435\" class=\"wp-caption-text\">OAuth REST API Qlik Sense<\/p><\/div><\/li>\n<li>Finally, create an Application in Qlik Sense Desktop and add the ODBC\u00a0DSN created in the previous step and you will have the Google Sheet data:\n<div id=\"attachment_4437\" style=\"width: 846px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-values-qlik-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4437\" class=\"size-full wp-image-4437\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-values-qlik-1.png\" alt=\"Google Sheet data displayed Qlik\" width=\"836\" height=\"174\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-values-qlik-1.png 836w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-values-qlik-1-300x62.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/google-drive-sheet-values-qlik-1-768x160.png 768w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><\/a><p id=\"caption-attachment-4437\" class=\"wp-caption-text\">Display data REST<\/p><\/div><\/li>\n<\/ol>\n<h3>Twitter REST API Example in Qlik<\/h3>\n<p>In this new section, we will show how to connect to Twitter and get the<br \/>\ninformation in Qlik using REST.<\/p>\n<ol>\n<li>First of all, we will use the ODBC Administrator to use the ZappySys\u00a0ODBC PowerPack and select the ZappySys JSON Driver.<\/li>\n<li>Secondly, we will enter the following URL in the ZS JSON Drive:\n<pre class=\"lang:default highlight:0 decode:true\">https:\/\/api.twitter.com\/1.1\/statuses\/user_timeline.json?<\/pre>\n<\/li>\n<li>Also in connection type, select OAuth:\n<div id=\"attachment_4439\" style=\"width: 596px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-ouath-token-qlik.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4439\" class=\"size-full wp-image-4439\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-ouath-token-qlik.png\" alt=\"Qlik connect to Twitter\" width=\"586\" height=\"493\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-ouath-token-qlik.png 586w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-ouath-token-qlik-300x252.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><p id=\"caption-attachment-4439\" class=\"wp-caption-text\">Select OAuth options<\/p><\/div><\/li>\n<li>In Addition, in the OAuth parameters, select the Twitter OAuth provider\u00a0and generate a Token. The application will ask for your Twitter credentials:\n<div id=\"attachment_4441\" style=\"width: 812px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-url.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4441\" class=\"size-full wp-image-4441\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-url.png\" alt=\"Qlik information\" width=\"802\" height=\"702\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-url.png 802w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-url-300x263.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/twitter-url-768x672.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/a><p id=\"caption-attachment-4441\" class=\"wp-caption-text\">Qlik connection information<\/p><\/div><\/li>\n<li>Finally, create a new app in Qlik Sense Desktop and add the ODBC DSN\u00a0just created and you will have your Twitter data in Qlik Sense.\n<div id=\"attachment_4442\" style=\"width: 996px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-twitter.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4442\" class=\"size-full wp-image-4442\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-twitter.png\" alt=\"Connect Twitter to Qlik\" width=\"986\" height=\"126\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-twitter.png 986w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-twitter-300x38.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-twitter-768x98.png 768w\" sizes=\"(max-width: 986px) 100vw, 986px\" \/><\/a><p id=\"caption-attachment-4442\" class=\"wp-caption-text\">Qlik sense to Twitter<\/p><\/div><\/li>\n<\/ol>\n<h3>Facebook REST API Example in Qlik<\/h3>\n<p>Facebook is another popular social network with interesting information. The\u00a0following example will show how to show the number of Facebook friends in Qlik\u00a0using REST API.<\/p>\n<ol>\n<li>\u00a0First of all, open the ODBC Administrator in Windows and add the\u00a0ZappySys JSON Driver.<\/li>\n<li>Secondly, you will need a Facebook application. The following <a href=\"https:\/\/zappysys.com\/blog\/register-facebook-oauth-app-graph-api\/\">link<\/a> shows\u00a0you how to configure the application.\n<div id=\"attachment_10118\" style=\"width: 730px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10118\" class=\"wp-image-10118 size-large\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1-1024x225.png\" alt=\"Qlik Sense to Facebook\" width=\"720\" height=\"158\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1-1024x225.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1-300x66.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1-768x169.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-to-facebook-1.png 1282w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><p id=\"caption-attachment-10118\" class=\"wp-caption-text\">Connect Facebook Qlik<\/p><\/div><\/li>\n<li>In your ZappySys ODBC driver, add your client id and client secret that can be obtained from the Facebook Application:\n<div id=\"attachment_10119\" style=\"width: 586px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-facebook-client-id-secret-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10119\" class=\"wp-image-10119 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-facebook-client-id-secret-1.png\" alt=\"Connect Qlik to Facebook\" width=\"576\" height=\"396\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-facebook-client-id-secret-1.png 576w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/qlik-facebook-client-id-secret-1-300x206.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><p id=\"caption-attachment-10119\" class=\"wp-caption-text\">Facebook Connection information for qlik<\/p><\/div><\/li>\n<li>Finally add your ODBC connection to Facebook in Qlik Sense as we did in previous examples.<\/li>\n<\/ol>\n<h2>ZappySys JSON \/REST API Driver Query Examples<\/h2>\n<p>Reading from XML files or API can be done using the same way as previous sections except you have to use ZappySys XML Driver. Read help file here to <a href=\"https:\/\/zappysys.com\/onlinehelp\/odbc-powerpack\/scr\/json-odbc-driver-sql-query-examples.htm\" target=\"_blank\" rel=\"noopener\">see json query examples<\/a>.<\/p>\n<h2>ZappySys\u00a0XML \/ SOAP Driver Query Examples<\/h2>\n<p>Reading from XML files or API can be done using the same way as previous sections except you have to use ZappySys XML Driver. Read help file here to <a href=\"https:\/\/zappysys.com\/onlinehelp\/odbc-powerpack\/scr\/xml-odbc-driver-sql-query-examples.htm\" target=\"_blank\" rel=\"noopener\">see xml query examples<\/a>.<\/p>\n<h2>Calling XML SOAP Web Service in Qlik<\/h2>\n<p>So far we have looked at examples to consume data using JSON driver. Now lets look at an example, to call XML SOAP Web Service in Qlik.<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-3870\">To call SOAP API you need to know Request XML Body Structure.\u00a0If you are not sure how to create SOAP Request body then no worries. <a href=\"https:\/\/zappysys.com\/blog\/calling-soap-web-service-in-ssis-xml-source\/\" target=\"_blank\" rel=\"noopener\">Check this article<\/a> to learn how to generate SOAP Request body using the Free tool <a href=\"https:\/\/www.soapui.org\/downloads\/latest-release.html\" target=\"_blank\" rel=\"noopener\">SoapUI<\/a>. Basically, you have to use SoapUI to generate Request XML and after that, you can replace parameters as needed in the generated body.\r\n<h3>What is SOAP Web Service?<\/h3>\r\nIf you are new to SOAP Web Service sometimes referred as XML Web Service then please read some concept\u00a0about\u00a0SOAP\u00a0Web service standard <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms996507.aspx?f=255&amp;MSPPError=-2147217396\" target=\"_blank\" rel=\"noopener\">from this link<\/a>\r\n\r\nThere are two important aspects in SOAP Web service.\r\n<ol>\r\n \t<li>Getting WSDL file or URL<\/li>\r\n \t<li>Knowing exact Web Service URL<\/li>\r\n<\/ol>\r\n<h3>What is WSDL<\/h3>\r\nIn very simple term WSDL (often pronounced as whiz-dull) is nothing but a document which describes Service metadata (e.g. Functions you can call, Request parameters, response structure etc). Some service simply give you WSDL as xml file you can download on local machine and then\u00a0analyze or sometimes you may get direct URL (e.g. http:\/\/api.mycompany.com\/hr-soap-service\/?wsdl )\r\n<h3>Example SQL Query for SOAP API call using ZappySys XML Driver<\/h3>\r\nHere is an example SQL query you can write to call SOAP API. If you not sure about many details then check next few sections on how to use XML Driver User Interface to build desired SQL query to POST data to XML SOAP Web Service without any coding.\r\n<pre class=\"lang:tsql decode:true\">SELECT * FROM $\r\nWITH(\r\n\t Src='http:\/\/www.holidaywebservice.com\/HolidayService_v2\/HolidayService2.asmx'\r\n\t,DataConnectionType='HTTP'\r\n\t,CredentialType='Basic' --OR SoapWss\r\n\t,SoapWssPasswordType='PasswordText'\r\n\t,UserName='myuser'\r\n\t,Password='pass$$w123'\r\n\t,Filter='$.soap:Envelope.soap:Body.GetHolidaysAvailableResponse.GetHolidaysAvailableResult.HolidayCode[*]'\r\n\t,ElementsToTreatAsArray='HolidayCode'\t\r\n\t,RequestMethod='POST'\t\r\n\t,Header='Content-Type: text\/xml;charset=UTF-8 || SOAPAction: \"http:\/\/www.holidaywebservice.com\/HolidayService_v2\/GetHolidaysAvailable\"'\r\n\t,RequestData='\r\n&lt;soapenv:Envelope xmlns:soapenv=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:hol=\"http:\/\/www.holidaywebservice.com\/HolidayService_v2\/\"&gt;\r\n   &lt;soapenv:Header\/&gt;\r\n   &lt;soapenv:Body&gt;\r\n      &lt;hol:GetHolidaysAvailable&gt;\r\n         &lt;!--type: Country - enumeration: [Canada,GreatBritain,IrelandNorthern,IrelandRepublicOf,Scotland,UnitedStates]--&gt;\r\n         &lt;hol:countryCode&gt;UnitedStates&lt;\/hol:countryCode&gt;\r\n      &lt;\/hol:GetHolidaysAvailable&gt;\r\n   &lt;\/soapenv:Body&gt;\r\n&lt;\/soapenv:Envelope&gt;'\r\n)<\/pre>\r\nNow let's look at steps to create SQL query to call SOAP API. Later we will see how to generate code for your desired programming language (e.g. C# or SQL Server)\r\n<h3>Video Tutorial - Introduction to SOAP Web Service and SoapUI tool<\/h3>\r\nBefore we dive into details about calling SOAP API using ZappySys XML Driver, lets first understand what is SOAP API and how to create SOAP requests using SoapUI tool. You will learn more about this process in the\u00a0later section. The video contains some fragment about using SOAP API in SSIS but just ignore that part because we will be calling Soap API using ZappySys ODBC Driver rather than SSIS Components.\r\n\r\n&nbsp;\r\n\r\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/d_x5bgGjg0Y?rel=0&amp;showinfo=0\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"allowfullscreen\" data-mce-fragment=\"1\"><\/iframe>\r\n<h3>Using SoapUI to test SOAP API call \/ Create Request Body XML<\/h3>\r\nAssuming you have downloaded and installed <a href=\"https:\/\/www.soapui.org\/downloads\/latest-release.html\" target=\"_blank\" rel=\"noopener\">SoapUI from here<\/a>, now we are ready to use WSDL for your SOAP Web Service Calls. If you do not have WSDL file or URL handy then contact your API provider (sometimes you just have to add <strong>?wsdl\u00a0<\/strong>at the end of your Service URL to get WSDL so try that. Example: http:\/\/mycompany\/myservice?wsdl ).\r\n\r\nIf you don't\u00a0know what is WSDL then in short, WSDL is <strong>Web service Description Language<\/strong> (i.e. XML file which describes your SOAP Service). WSDL helps to craft SOAP API request Body for ZappySys XML Driver. So Let's get started.\r\n<ol>\r\n \t<li>Open SoapUI and click SOAP button to create new SOAP Project<\/li>\r\n \t<li>Enter WSDL URL or File Path of WSDLFor example WSDL for our sample service can be accessed via this URL\r\n<pre class=\"lang:default highlight:0 decode:true\">http:\/\/www.dneonline.com\/calculator.asmx?wsdl<\/pre>\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/calling-soap-api-import-wsdl-new-soapui-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3871\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-14.png\" alt=\"Create new SOAP API Project in SoapUI tool for SOAP API Testing\" width=\"486\" height=\"349\" \/><\/a>\r\n<div style=\"margin-bottom: 1em;\">Create new SOAP API Project in SoapUI tool for SOAP API Testing<\/div><\/li>\r\n \t<li>Once WSDL is loaded you will see possible operations you can call for your SOAP Web Service.<\/li>\r\n \t<li>If your web service requires credentials then you have to configure it. There are two common credential types for public services (<strong>SOAP WSS<\/strong> or <strong>BASIC<\/strong> )\r\n<ol>\r\n \t<li>\r\n<div style=\"margin-bottom: 1em;\">To use <strong>SOAP WSS Credentials<\/strong> select request node and enter UserId, Password, and <strong>WSS-PasswordType<\/strong> (PasswordText or PasswordHash)<\/div>\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/calling-soap-api-pass-soap-wss-credentials-userid-password.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3872 alignnone\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-2.png\" alt=\"Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)\" width=\"294\" height=\"544\" \/><\/a>\r\n<div style=\"display: block;\">Configure SOAP WSS Credentials for SoapUI (SOAP API Testing Tool)<\/div><\/li>\r\n \t<li>To use <strong>BASIC Auth<\/strong> Credentials select request node and double-click it.\u00a0At the bottom click on Auth (Basic) and From Authorization dropdown click Add New and Select Basic.<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/calling-soap-api-pass-basic-authentication-userid-password.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3873\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-2.png\" alt=\"Configure Basic Authorization for SoapUI (SOAP API Testing Tool)\" width=\"616\" height=\"653\" \/><\/a>\r\n<div style=\"margin-bottom: 1em;\">Configure Basic Authorization for SoapUI (SOAP API Testing Tool)<\/div><\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li>Now you can test your request first Double-click on the request node to open request editor.<\/li>\r\n \t<li>Change necessary parameters, remove optional or unwanted parameters. If you want to regenerate request you can click on <strong>Recreate default request toolbar icon<\/strong>.\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/create-soap-request-with-optional-parameters-soapui.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2812\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-4.png\" alt=\"Create SOAP Request XML (With Optional Parameters)\" width=\"807\" height=\"315\" \/><\/a>\r\n<div style=\"margin-bottom: 1em;\">Create SOAP Request XML (With Optional Parameters)<\/div><\/li>\r\n \t<li>Once your SOAP Request XML is ready, <strong>Click the Play button<\/strong> in the toolbar to execute SOAP API Request and Response will appear in Right side panel.\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/soapui-test-soap-api-request-response-edit-xml-body.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3874\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-5.png\" alt=\"Test SOAP API using SoapUI Tool (Change Default XML Body \/ Parameters, Execute and See Response)\" width=\"1216\" height=\"511\" \/><\/a>\r\nTest SOAP API using SoapUI Tool (Change Default XML Body \/ Parameters, Execute and See Response)<\/li>\r\n<\/ol>\r\n<h3>Create DSN using ZappySys XML Driver to call SOAP API<\/h3>\r\nOnce you have tested your SOAP API in SoapUI tool, we are ready to use ZappySys XML driver to call SOAP API in your preferred BI tool or Programming language.\r\n<ol>\r\n \t<li>First open <strong>ODBC Data Sources<\/strong> (search ODBC in your start menu\u00a0or go under ZappySys &gt; ODBC PowerPack &gt; <strong>ODBC 64 bit<\/strong>)<\/li>\r\n \t<li>Goto <strong>System DSN<\/strong> Tab (or User DSN which is not used by Service account)<\/li>\r\n \t<li>Click <strong>Add<\/strong> and Select ZappySys XML Driver\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/zappysys-odbc-xml-soap-api-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3875\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-6.png\" alt=\"ZappySys ODBC Driver for XML \/ SOAP API\" width=\"593\" height=\"459\" \/><\/a>\r\nZappySys ODBC Driver for XML \/ SOAP API<\/li>\r\n \t<li>Configure API URL, Request Method and Request Body as below\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/calling-soap-web-service-zappysys-xml-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3876\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-7.png\" alt=\"ZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body\" width=\"916\" height=\"874\" \/><\/a>\r\nZappySys XML Driver - Calling SOAP API - Configure URL, Method, Body<\/li>\r\n \t<li><strong>(This step is Optional)<\/strong> If your SOAP API requires credentials then Select Connection Type to HTTP and configure as below.\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/soap-api-call-credential-basic-soap-wss-zappysys-xml-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3877\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-8.png\" alt=\"ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)\" width=\"564\" height=\"483\" \/><\/a>\r\n<div style=\"display: block;\">ZappySys XML Driver - Configure SOAP WSS Credentials or Basic Authorization (Userid, Password)<\/div><\/li>\r\n \t<li>Configure-Request Headers as below (You can get it from Request &gt; Raw tab from SoapUI after you test the request by clicking the Play button)\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/set-soap-api-request-headers-zappysys-xml-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3881\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-9.png\" alt=\"Configure SOAP API Request Headers - ZappySys XML Driver\" width=\"1009\" height=\"747\" \/><\/a>\r\nConfigure SOAP API Request Headers - ZappySys XML Driver<\/li>\r\n \t<li>Once credentials entered you can select Filter to extract data from the desired node. Make sure to select array node (see special icon) or select the node which contains all necessary columns if you don't have array node.\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/soap-api-query-select-filter-zappysys-xml-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3882\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-10.png\" alt=\"Select Filter - Extract data from nested XML \/ SOAP API Response (Denormalize Hierarchy)\" width=\"809\" height=\"594\" \/><\/a>\r\nSelect Filter - Extract data from nested XML \/ SOAP API Response (Denormalize Hierarchy)<\/li>\r\n \t<li>If prompted select yes to treat selected node as Array (This is helpful when you expect one or more record for selected node)\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/xml-api-array-handling-zappysys-xml-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3883\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-11.png\" alt=\"Treat selected node as XML Array Option for SOAP API Response XML\" width=\"655\" height=\"572\" \/><\/a>\r\nTreat selected node as XML Array Option for SOAP API Response XML<\/li>\r\n<\/ol>\r\n<h3>Preview SOAP API Response \/ Generate SQL Code for SOAP API Call<\/h3>\r\nOnce you configure settings for XML Driver now you can preview data or generate example code for desired language (e.g. C#, Python, Java, SQL Server).\r\n\r\nGo to Preview tab and you will see default query generated based on settings you entered in previous sections. Attributes listed in WITH clause are optional. If you omit attribute in WITH clause it will use it from Properties tab.\r\n<h3>Preview Data<\/h3>\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/calling-soap-web-service-zappysys-xml-api-driver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3884\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-12.png\" alt=\"Preview SOAP API Response in ZappySys XML Driver\" width=\"808\" height=\"780\" \/><\/a>\r\nPreview SOAP API Response in ZappySys XML Driver\r\n<h3>Generate Code Option<\/h3>\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/zappysys-driver-code-generator.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3885\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-call-soap-api-13.png\" alt=\"Generate Example Code for ZappySys Driver\" width=\"572\" height=\"618\" \/><\/a>\r\n<div style=\"display: block;\">Generate Example Code for ZappySys Driver<\/div><\/div>\n<h2>POST data to REST API URL from file in\u00a0Qlik<\/h2>\n<p>Above example was POST data to API URL but what if your Request Body is large and you have saved that to file? Well here is the way to get your request body from a file (Use @ symbol before path).<\/p>\n<pre class=\"lang:tsql decode:true\">SELECT * FROM $\r\nWITH \r\n(METHOD='POST' \r\n,HEADER='Content-Type:text\/plain || x-hdr1:AAA'\r\n,SRC='http:\/\/httpbin.org\/post'\r\n,BODY='@c:\\files\\dump.xml'\r\n,IsMultiPart='True'\r\n)\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>REST API Pagination in Qlik Sense \/ QlikView<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-3892\"><div style=\"margin-bottom: 1em;\">Even we set up ODBC Data Source to get the data, it may not be enough. Usually, if you are getting a huge data set from API provider, it won't give it to you in one HTTP response. Instead, it gives back only a subset of data and provides a mechanism for data pagination. The good news is that\u00a0<em>ZappySys ODBC Driver<\/em> includes many options to cover virtually any pagination method.<\/div>\r\n<div><span style=\"font-size: 16px;\">Below you will find a few examples of API pagination. If you need something more sophisticated check the below link (the article was written for SSIS PowerPack but UI options and concepts apply to ODBC Driver too):<\/span><\/div>\r\n<div style=\"margin-bottom: 1em;\"><a href=\"https:\/\/zappysys.com\/blog\/ssis-rest-api-looping-until-no-more-pages-found\/\" target=\"_blank\" rel=\"noopener\">https:\/\/zappysys.com\/blog\/ssis-rest-api-looping-until-no-more-pages-found\/<\/a><\/div>\r\n<h3>Paginate by Response Attribute<\/h3>\r\nThis example shows how to paginate API calls where you need to paginate until the last page detected. In this example, next page is indicated by some attribute called nextlink (found in response). If this attribute is missing or null then it stops fetching the next page.\r\n<pre class=\"lang:tsql decode:true codeblock\">SELECT * FROM $\r\nWITH(\r\nSRC=@'https:\/\/zappysys.com\/downloads\/files\/test\/pagination_nextlink_inarray_1.json'\r\n,NextUrlAttributeOrExpr = '$.nextlink'  --keep reading until this attribute is missing. If attribute name contains dot then use brackets like this $.['my.attr.name']\r\n)<\/pre>\r\n<h3>Paginate by URL Parameter (Loop until certain StatusCode)<\/h3>\r\nThis example shows how to paginate API calls where you need to pass page number via URL. The driver keeps incrementing page number and calls next URL until the last page detected (401 error). There are few ways to indicate the last page (e.g. By status code, By row count, By response size). If you don't specify end detection then it will use the default (i.e. No records found).\r\n<pre class=\"lang:tsql decode:true codeblock\">SELECT * FROM $\r\nWITH (\r\nSRC=@'https:\/\/zappysys.com\/downloads\/files\/test\/page-xml.aspx?page=1&amp;mode=DetectBasedOnResponseStatusCode'\r\n,PagingMode='ByUrlParameter'\r\n,PagingByUrlAttributeName='page'\r\n,PagingByUrlEndStrategy='DetectBasedOnResponseStatusCode'\r\n,PagingByUrlCheckResponseStatusCode=401\r\n,IncrementBy=1\r\n)<\/pre>\r\n<h3>Paginate by URL Path (Loop until no record)<\/h3>\r\nThis example shows how to paginate API calls where you need to pass page number via URL Path. The driver keeps incrementing page number and calls next URL until the last page is detected. There are few ways to indicate the last page (e.g. By status code, By row count, By response size). If you don't specify end detection then it will use the default (i.e. No records found).\r\n<pre class=\"lang:tsql decode:true codeblock\">SELECT * FROM $\r\nWITH (\r\nSRC=@'https:\/\/zappysys.com\/downloads\/files\/test\/cust-&lt;%page%&gt;.xml'\r\n,PagingMode='ByUrlPath'\r\n,PagingByUrlAttributeName='&lt;%page%&gt;'\r\n,PagingByUrlEndStrategy='DetectBasedOnRecordCount'\r\n,IncrementBy=1\r\n)<\/pre>\r\n<h3>Paginate by Header Link (RFC 5988)<\/h3>\r\nAPI like GitHub \/ Wordpress use Next link in Headers (<a href=\"https:\/\/tools.ietf.org\/html\/rfc5988\" target=\"_blank\" rel=\"noopener\">RFC 5988<\/a>)\r\n<pre class=\"lang:default decode:true \">SELECT * FROM $\r\nLIMIT 25\r\nWITH(\r\n\t Src='https:\/\/wordpress.org\/news\/wp-json\/wp\/v2\/categories?per_page=10'\r\n\t,PagingMode='ByResponseHeaderRfc5988'\r\n\t,WaitTimeMs='200' --\/\/wait 200 ms after each request\r\n)<\/pre>\r\n&nbsp;<\/div>\n<h2>Error Handling in REST API \/ SOAP<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-3894\">Sometimes errors occur... they just do and there is nothing you can do! Or can you? Actually, in ODBC PowerPack you can handle them in two ways.\r\n<h3>METHOD 1 - Using Error Handling Options<\/h3>\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3949\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-api-error-handling-1.png\" alt=\"\" width=\"668\" height=\"702\" \/>\r\n<h4>When to use?<\/h4>\r\nYou may want to use them when your source is a resource located\u00a0on\u00a0the Internet; e.g. a file on a website, a file on an FTP server or just a plain API HTTP response. By default, when a remote server returns an error, data retrieval is stopped, an error is raised and no data is given back to you. This might not be always desirable.\r\n<h4>Scenario 1<\/h4>\r\nImagine a scenario, that there is a\u00a0web server which\u00a0each day at 12 AM releases a new JSON file with\u00a0that day's date as filename, e.g. <span style=\"text-decoration: underline;\"><em>http:\/\/www.some-server.com\/data\/2018-06-20.json<\/em><\/span>. And, of course, you want to download it and use it daily in your Power BI report. But you have a problem: Power BI report data sources are\u00a0refreshed each\u00a0hour and you may get\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/HTTP_404\" target=\"_blank\" rel=\"noopener\">HTTP 404 status code<\/a>\u00a0(no file was found) when a\u00a0file is not released yet. Which consequentially means other data sources won't be updated as well and you will see old and cached data on the report. That's where\u00a0you could use\u00a0<strong><span class=\"lang:default highlight:0 decode:true crayon-inline\">Continue on any error<\/span><\/strong>\u00a0or <strong><span class=\"lang:default highlight:0 decode:true crayon-inline\">Continue when Url is invalid or missing (404 Errors)<\/span><\/strong>\u00a0to avoid an error being raised and let other data sources to be updated.\r\n<h4>Scenario 2<\/h4>\r\nAnother scenario is when you expect a web server to raise some kind of HTTP error when accessing a URL. You don't want ODBC Data Source to raise an error but instead, you want to get response data. That's where you can use\u00a0<strong><span class=\"lang:default highlight:0 decode:true crayon-inline\">Continue on any error<\/span><\/strong>\u00a0or alike together with\u00a0\u00a0<strong><span class=\"lang:default highlight:0 decode:true crayon-inline\">Get response data on error<\/span><\/strong>\u00a0to continue on an error and get the data:\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3961 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-get-response-data-on-error.png\" alt=\"\" width=\"547\" height=\"235\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-get-response-data-on-error.png 547w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-get-response-data-on-error-300x129.png 300w\" sizes=\"(max-width: 547px) 100vw, 547px\" \/>\r\n<h3>METHOD 2 - Using Connection [Retry Settings]<\/h3>\r\nAnother scenario you may run into is a buggy web server. You ask it to give you some file or data and it, like a snotty kid, just doesn't give it to you! You have to ask twice or thrice before it does its job. If that's the case, you have to retry HTTP requests using <em>Connection<\/em>:\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3963 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-api-error-handling-3.png\" alt=\"\" width=\"671\" height=\"572\" \/><\/div>\n<h2>REST API \/ SOAP Connection Types in Qlik (OAuth \/ HTTP)<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-3896\"><div style=\"margin-bottom: 1em;\">If you need to authenticate or authorize your user to access a web resource, you will need to use one of\u00a0the <em>Connections:<\/em><\/div>\r\n<ul>\r\n \t<li>HTTP<\/li>\r\n \t<li>OAuth<\/li>\r\n<\/ul>\r\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4078 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-authentication-authorization-e1529337108252.png\" alt=\"ZappySys XML Driver - HTTP and OAuth Connection Types\" width=\"577\" height=\"302\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-authentication-authorization-e1529337108252.png 577w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-powerpack-authentication-authorization-e1529337108252-300x157.png 300w\" sizes=\"(max-width: 577px) 100vw, 577px\" \/>\r\n<h3>HTTP Connection<\/h3>\r\n<div style=\"margin-bottom: 1em;\">Use <em>HTTP Connection<\/em> for simple\u00a0Windows, Basic, NTLM or Kerberos authentication. Just fill in a username and a password and you are good to go!<\/div>\r\n<div style=\"margin-bottom: 1em;\">You can also use <em>HTTP Connection<\/em> for more sophisticated authentication like:<\/div>\r\n<ul>\r\n \t<li><strong>SOAP WSS<\/strong> (when accessing a SOAP WebService)<\/li>\r\n \t<li><strong>Static Token \/ API Key<\/strong> (when need to pass an API key in HTTP header)<\/li>\r\n \t<li><strong>Dynamic Token<\/strong> (same as Static Token method except that each time you need to log in\u00a0and retrieve a fresh API key)<\/li>\r\n \t<li><strong>JWT Token<\/strong> (As per RFC 7519)<\/li>\r\n<\/ul>\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4091 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-api-connection-type-1.png\" alt=\"\" width=\"622\" height=\"570\" \/>\r\n<h3>OAuth<\/h3>\r\nIf you are trying to access REST API resource, it is a huge chance, you will need to use <em>OAuth Connection<\/em>. <a href=\"https:\/\/zappysys.com\/blog\/rest-api-authentication-with-oauth-2-0-using-ssis\/\" target=\"_blank\" rel=\"noopener\">Read this article<\/a> to understand how OAuth authentication and authorization works and how to use it (article originally was written for <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">SSIS PowerPack<\/a>, but the concepts and UI stay the same):\u00a0<br\/>\r\n<a href=\"https:\/\/zappysys.com\/blog\/rest-api-authentication-with-oauth-2-0-using-ssis\/\" target=\"_blank\" rel=\"noopener\">https:\/\/zappysys.com\/blog\/rest-api-authentication-with-oauth-2-0-using-ssis\/<\/a>\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/06\/odbc-api-connection-type-2.png\" width=\"721\" height=\"708\" \/><\/div>\n<h2>Performance consideration for Web API Calls<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-4455\">While calling APIs you may face some performance issues. There are a few tips you can consider to speed up things.\r\n<h4><span style=\"font-size: 14pt;\"><strong>Use Server-side filtering if possible in URL or Body Parameters<\/strong><\/span><\/h4>\r\nMany API supports filtering your data by URL parameters or via Body. Whenever possible try to use such features.\u00a0 Here is an example of <a href=\"http:\/\/www.odata.org\/getting-started\/basic-tutorial\/\" target=\"_blank\" rel=\"noopener\">odata\u00a0API<\/a>, In the below query the first query is faster than the second query because\u00a0in the first query we filter at the\u00a0server.\r\n<pre class=\"lang:tsql decode:true\">SELECT * FROM value\r\nWITH(\r\n\t Src='https:\/\/services.odata.org\/V3\/Northwind\/Northwind.svc\/Customers?$format=json&amp;$filter=Country eq ''USA'''\r\n\t,DataFormat='Odata'\r\n)\r\n\r\n-- Slow query - Client-side filtering\r\nSELECT * FROM value\r\nWHERE Country ='USA'\r\nWITH(\r\n\t Src='https:\/\/services.odata.org\/V3\/Northwind\/Northwind.svc\/Customers?$format=json'\r\n\t,DataFormat='Odata'\r\n)<\/pre>\r\n<h4><span style=\"font-size: 14pt;\"><strong>Avoid Special features in SQL Query (e.g. WHERE, Group By, Order By)<\/strong><\/span><\/h4>\r\nZappySys API engine triggers client-side processing\u00a0if special features are used in Query. Following SQL Features will trigger Client-Side processing which is several times slower than server-side processing. So always try to use simple query (Select col1, col2 ....\u00a0from mytable\u00a0)\r\n<ul>\r\n \t<li>WHERE Clause<\/li>\r\n \t<li>GROUP BY Clause<\/li>\r\n \t<li>HAVING Clause<\/li>\r\n \t<li>ORDER BY<\/li>\r\n \t<li>FUNCTIONS (e.g. Math, String, DateTime, Regex... )<\/li>\r\n<\/ul>\r\nLIMIT clause does not trigger client-side processing.\r\n<h4><span style=\"font-size: 14pt;\"><strong>Consider using pre-generated Metadata \/ Cache File<\/strong><\/span><\/h4>\r\nUse META option in WITH Clause to use static metadata (Pre-Generated)There are two more options to speedup query processing time. Check <a href=\"https:\/\/zappysys.com\/blog\/caching-metadata-odbc-drivers-performance\/\" target=\"_blank\" rel=\"noopener\">this article<\/a> for details.\r\n<ol>\r\n \t<li>\r\n<pre class=\"lang:default decode:true\">select * from value WITH( meta='c:\\temp\\meta.txt' )\r\n--OR--\r\nselect * from value WITH( meta='my-meta-name' )\r\n--OR--\r\nselect * from value WITH( meta='[ {\"Name\": \"col1\",&amp;nbsp;\"Type\": \"String\", Length: 100},&amp;nbsp;{\"Name\": \"col2\",&amp;nbsp;\"Type\": \"Int32\"} ...... ]' )<\/pre>\r\n<\/li>\r\n \t<li>Enable Data Caching Options (Found on <strong>Property Grid<\/strong> &gt; <strong>Advanced<\/strong> Mode Only )<\/li>\r\n<\/ol>\r\n<h4><span style=\"font-size: 14pt;\"><strong>Consider using Metadata \/ Data Caching Option<\/strong><\/span><\/h4>\r\nZappySys API drivers support Caching Metadata and Data rows to speed up query processing. If your data doesn't change often then you can enable this option to speed up processing significantly.\r\n\r\nCheck <a href=\"https:\/\/zappysys.com\/blog\/caching-metadata-odbc-drivers-performance\/\" target=\"_blank\" rel=\"noopener\">this article<\/a> for details how to enable Data cache \/ metadata cache feature for datasource level or query level.\r\n\r\nTo define cache option at query level you can use like below.\r\n<pre class=\"\">SELECT * FROM $\r\nWITH \r\n(  SRC='https:\/\/myhost.com\/some-api'\r\n  ,CachingMode='All'  --cache metadata and data rows both\r\n  ,CacheStorage='File' --or Memory\r\n  ,CacheFileLocation='c:\\temp\\myquery.cache'\r\n  ,CacheEntryTtl=300 --cache for 300 seconds\r\n)\r\n<\/pre>\r\n&nbsp;\r\n\r\n&nbsp;\r\n<h4><strong><span style=\"font-size: 14pt;\">Use --FAST Option to enable Stream Mode<\/span><\/strong><\/h4>\r\nZappySys JSON \/ XML drivers support <strong>--FAST<\/strong> suffix for Filter. By using this suffix after Filter driver enables Stream Mode, <a href=\"https:\/\/zappysys.com\/blog\/caching-metadata-odbc-drivers-performance\/#Reading_Large_Files_Streaming_Mode_for_XML_JSON\" target=\"_blank\" rel=\"noopener\">Read this article<\/a> to understand how this works.\r\n<pre class=\"lang:default decode:true\">SELECT * FROM $ \r\nLIMIT 10 --\/\/add this just to test how fast you can get 10 rows\r\nWITH(\r\n  Filter='$.LargeArray[*]--FAST' --\/\/Adding --FAST option turn on STREAM mode (large files)\r\n ,SRC='https:\/\/zappysys.com\/downloads\/files\/test\/large_file_100k_largearray_prop.json.gz'\r\n --,SRC='c:\\data\\large_file.json.gz'\r\n ,IncludeParentColumns='False'  --\/\/This Must be OFF for STREAM mode (read very large files)\r\n ,FileCompressionType='GZip' --Zip or None (Zip format only available for Local files)\r\n)<\/pre>\r\n&nbsp;<\/div>\n<h2>Other considerations for Web API calls in Qlik<\/h2>\n<div class=\"content_block\" id=\"custom_post_widget-3901\">There are few settings you can coder while calling Web API\r\n<h3><strong>API Limit \/ Throttling<\/strong><\/h3>\r\nWhile calling public API or other external web services one important aspect you have to check,\u00a0 how many requests are allowed by your API. Especially when you use API pagination options to pull many records you have to slow down based on API limits. For example, your API may allow you only 5 requests per second. Use Throttling Tab on Driver UI to set delay after each request.\r\n<h3><strong>2D Array Transformation<\/strong><\/h3>\r\nIf you are using JSON or XML API Driver then possible you may have to transform your data using 2D array transformation feature. <a href=\"https:\/\/zappysys.com\/blog\/parse-multi-dimensional-json-array-ssis\/\" target=\"_blank\" rel=\"noopener\">Check this link<\/a> for more information.\r\n\r\n&nbsp;<\/div>\n<h2>Conclusion<\/h2>\n<p>To conclude, we can say that Qlik Sense with the help of <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\">ZappySys ODBC\u00a0PowerPack<\/a> can be useful to access to different data using REST API. We learned\u00a0how to connect Qlik Sense with ODBC to connect to OData, Google Drive Sheets,\u00a0Facebook information and Twitter. If you enjoy it. Try<a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/download\/\"> our product<\/a>.<\/p>\n<h2>References<\/h2>\n<p>Finally, for more information about Qlik Sense and REST API with ODBC, refer<br \/>\nto these links:<\/p>\n<ul>\n<li><a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\">ODBC PowerPack \u2013 Drivers for REST API, JSON, XML, OData<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=8QTsuFpVh44\">Qlik Sense &#8211; Getting Started Webinar<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this article, we will learn to create a Qlik REST connector to OneDrive, Google, and other services. Qlik is a very powerful tool to analyze data from multiple sources and\u00a0visualize, create relations and charts. It is a simple, but powerful tool used\u00a0to visualize data. In this tutorial, we will show how to get [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":4420,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[277,276,339],"tags":[358,361,359,360,67],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-07-10T21:59:40+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2023-06-14T15:26:48+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"224\" \/>\r\n\t<meta property=\"og:image:height\" content=\"224\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys Team\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\",\"url\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\",\"name\":\"Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png\",\"datePublished\":\"2018-07-10T21:59:40+00:00\",\"dateModified\":\"2023-06-14T15:26:48+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/91b041e2dcf7ece5f068893c1a68ac6e\"},\"description\":\"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png\",\"width\":224,\"height\":224,\"caption\":\"Qlik Sense logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qlik REST Connector Examples &#8211; Read JSON \/ XML API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/91b041e2dcf7ece5f068893c1a68ac6e\",\"name\":\"ZappySys Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/746bec9c9d27f1b90bb181aa516ee234?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/746bec9c9d27f1b90bb181aa516ee234?s=96&d=mm&r=g\",\"caption\":\"ZappySys Team\"},\"sameAs\":[\"https:\/\/zappysys.com\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/dcalbimonte\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog","description":"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/","og_locale":"en_US","og_type":"article","og_title":"Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog","og_description":"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.","og_url":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/","og_site_name":"ZappySys Blog","article_published_time":"2018-07-10T21:59:40+00:00","article_modified_time":"2023-06-14T15:26:48+00:00","og_image":[{"width":224,"height":224,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png","type":"image\/png"}],"author":"ZappySys Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ZappySys Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/","url":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/","name":"Qlik REST Connector Examples - Read JSON \/ XML API | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png","datePublished":"2018-07-10T21:59:40+00:00","dateModified":"2023-06-14T15:26:48+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/91b041e2dcf7ece5f068893c1a68ac6e"},"description":"This article shows how to create a Qlik REST connector. We will connect to REST API and with that, we will connect to Facebook, Twitter and other sources.","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/logo-qlik-sense.png","width":224,"height":224,"caption":"Qlik Sense logo"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/qlik-rest-connector-examples-read-json-xml-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Qlik REST Connector Examples &#8211; Read JSON \/ XML API"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/91b041e2dcf7ece5f068893c1a68ac6e","name":"ZappySys Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/746bec9c9d27f1b90bb181aa516ee234?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/746bec9c9d27f1b90bb181aa516ee234?s=96&d=mm&r=g","caption":"ZappySys Team"},"sameAs":["https:\/\/zappysys.com"],"url":"https:\/\/zappysys.com\/blog\/author\/dcalbimonte\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4410"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=4410"}],"version-history":[{"count":17,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4410\/revisions"}],"predecessor-version":[{"id":10120,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4410\/revisions\/10120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/4420"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=4410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=4410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=4410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}