Fetch spaces in a tenant
NodeJS using an API Key
This examples shows how to fetch the space list from a tenant.
import { auth, spaces } from "@qlik/api";
const x = {
host: "your-tenant.region.qlikcloud.com",
authType: "apikey",
apiKey: "<api-key>",
};
auth.setDefaultHostConfig(x);
async function main() {
const { data: mySpaces } = await spaces.getSpaces({});
console.log(mySpaces.data); // the data response (list of spaces)
}
await main();
Run the code with
node fetch-spaces.mjs
NodeJS using Oauth2
Create a file fetch-spaces.mjs
and add the following:
import { auth, spaces } from "@qlik/api";
const hostConfig = {
host: "your-tenant.region.qlikcloud.com",
authType: "oauth2",
clientId: "<client-id>",
clientSecret "<client-secret>",
};
auth.setDefaultHostConfig(hostConfig);
async function main() {
const { data: mySpaces } = await spaces.getSpaces({});
console.log(mySpaces.data); // the data response (list of spaces)
}
await main();
Run the code with
node fetch-spaces.mjs
Browser using cookies
When using a browser you can load the library files from a CDN provider. It is
also possible to use npm
and a bundler to get the code into your application. In
the HTML below, an API call fetches the spaces from a tenant and
adds the names of the spaces as div elements in the dom.
<!doctype html>
<html lang="en">
<head>
<title>Fetching spaces with @qlik/api</title>
</head>
<body>
<div id="space-container" class="container">
<div>Spaces:</div>
<!-- Spaces will be addeed here -->
</div>
<script type="module">
import { auth, spaces } from "https://cdn.jsdelivr.net/npm/@qlik/api/index.mjs";
auth.setDefaultHostConfig({
host: "your-tenant.region.qlikcloud.com",
authType: "cookie",
webIntegrationId: "<web-integration-id>",
});
const { data: mySpaces } = await spaces.getSpaces();
const spaceContainer = document.getElementById("space-container");
for (const space of mySpaces.data) {
const div = document.createElement("div");
div.innerText = space.name;
spaceContainer.appendChild(div);
}
</script>
</body>
</html>
Browser using Oauth2
Use the preceding example but change the host configuration to use OAuth2.