{"id":231169,"date":"2023-10-12T17:45:00","date_gmt":"2023-10-12T16:45:00","guid":{"rendered":"https:\/\/www.virtualworlduk.co.uk\/wordp\/?p=231169"},"modified":"2023-10-19T12:01:43","modified_gmt":"2023-10-19T11:01:43","slug":"vmware-skyline-an-adventure-with-api-and-powerbi-part-1","status":"publish","type":"post","link":"https:\/\/www.virtualworlduk.co.uk\/wordp\/vmware-skyline-an-adventure-with-api-and-powerbi-part-1\/","title":{"rendered":"VMware Skyline &#8211; An Adventure with API and PowerBI &#8211; Part 1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"231169\" class=\"elementor elementor-231169\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fdeeebc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fdeeebc\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5324edf\" data-id=\"5324edf\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8909507 elementor-widget elementor-widget-heading\" data-id=\"8909507\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9eace6f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9eace6f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-db9eae5\" data-id=\"db9eae5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-69a1915 elementor-widget elementor-widget-text-editor\" data-id=\"69a1915\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I&#8217;ve known about the VMware Skyline API capabilities since they were released in December 2021 but never really had an opportunity to look into them and a use for them.\u00a0 As I write this, I feel that I should clarify that I am a VMware employee and my use of VMware Skyline is to assist my customers to help avoid issues within their environments by focusing on rectifying the proactive findings that Skyline generates for them.<\/p><p>As of writing this, there is the public facing Skyline Advisor Pro site designed for customer use with a similar internal Skyline Viewer site for relevant VMware staff to assist their customers.\u00a0 The API capabilities are only made available through the Skyline Advisor Pro site, and therefore access and usability of these capabilities as a VMware staff member have been limited.<\/p><p>As additional background information, I have not really used any API capabilities myself in earnest before, so this has been a real adventure learning a little about APIs, the Skyline APIs and a potential use within PowerBI.\u00a0 I was also surprised to see that there was actually very little mentioned across the web of how to utilise PowerBI to connect to APIs in general and especially with regards to utilising a changing bearer token when you need to access the APIs for an update, but we&#8217;ll come to that later.\u00a0 I will try to provide references to sources that have helped through this journey but I apologise if I have missed anyone.<\/p><p>Part 2 of this series can be found here:\u00a0<br \/><a href=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/2023\/10\/13\/vmware-skyline-an-adventure-with-api-and-powerbi-part-2\/\">https:\/\/www.virtualworlduk.co.uk\/wordp\/2023\/10\/13\/vmware-skyline-an-adventure-with-api-and-powerbi-part-2\/<\/a><\/p><p>Part 3 of this series can be found here:<br \/><a href=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/2023\/10\/19\/vmware-skyline-an-adventure-with-api-and-powerbi-part-3\/\">https:\/\/www.virtualworlduk.co.uk\/wordp\/2023\/10\/19\/vmware-skyline-an-adventure-with-api-and-powerbi-part-3\/<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cb3bb86 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cb3bb86\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a37750\" data-id=\"7a37750\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-36211dd elementor-widget elementor-widget-heading\" data-id=\"36211dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">The Goal<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0b9c35b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0b9c35b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6fdcad0\" data-id=\"6fdcad0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2ed7dd4 elementor-widget elementor-widget-text-editor\" data-id=\"2ed7dd4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The goal of this little adventure was to try to find a repeatable method to connect PowerBI to the VMware Skyline APIs to extract useful information on current findings related to the customer that could then be manipulated within PowerBI to provide useful information and summaries&#8230; almost filling some of the reporting gaps within Skyline.<\/p><p>Just for clarification, this blog series will focus on the journey from Skyline APIs to PowerBI and I hope that this will form a starting point for others to utilise to create useful reports within PowerBI where they manipulate the available data and then share the results with the world.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1b3a2f9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1b3a2f9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-da3789a\" data-id=\"da3789a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1dfae8b elementor-widget elementor-widget-heading\" data-id=\"1dfae8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Getting Started<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d306eeb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d306eeb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-88ef139\" data-id=\"88ef139\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b161713 elementor-widget elementor-widget-text-editor\" data-id=\"b161713\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Rather than reinventing the wheel with regards to getting started with enabling the API User role within Skyline and\u00a0 generating the API token etc., I would refer you to the information created by Sonny Nguyen here:\u00a0 <a href=\"https:\/\/blogs.vmware.com\/kb\/2021\/12\/skyline-insights-api-getting-started.html\">https:\/\/blogs.vmware.com\/kb\/2021\/12\/skyline-insights-api-getting-started.html<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bccba84 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bccba84\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-98ac531\" data-id=\"98ac531\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-76d535a elementor-widget elementor-widget-heading\" data-id=\"76d535a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">The basics<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-577cdea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"577cdea\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-33827a2\" data-id=\"33827a2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e00819c elementor-widget elementor-widget-text-editor\" data-id=\"e00819c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you have followed the instructions provided by Sonny in the link above, then you should have given yourself the API User role and generated your API token.\u00a0 Your API token is similar to your username, when you run the correct command with your API token to the Skyline environment, you&#8217;ll be provided with a time sensitive access token&#8230; similar to a two-factor authentication code.<\/p><p>This means that although your API token won&#8217;t change (unless you need to reset it), your access token will change on a frequent basis.\u00a0 The result of the access token changing on a frequent basis is that quite often you would need to generate a new access token each time you wished to refresh any exported data.\u00a0 The fact that this access token changes frequently is one of the challenges we need to overcome as part of the PowerBI report.\u00a0 We cannot use a static value for the access token within the report, as the access token value changes&#8230; but we&#8217;ll tackle that later.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-00f6240 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"00f6240\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9e768d4\" data-id=\"9e768d4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03f1dfa elementor-widget elementor-widget-heading\" data-id=\"03f1dfa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Testing Access Token Creation - outside of PowerBI<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-dcb128f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"dcb128f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cbde756\" data-id=\"cbde756\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b59a585 elementor-widget elementor-widget-text-editor\" data-id=\"b59a585\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We&#8217;ll use the following method to create the access token and then test that the Access Token is created correctly.<\/p><p>There are a couple of methods of using Curl on a Windows machine.\u00a0 The Curl commands that Sonny listed on his blog post could be used with the Curl command line for windows or by using Postman.\u00a0 To keep things simple, I have preferred to use the Curl command line interface in Windows, from the command prompt.\u00a0 To install Curl, I would suggest following the instructions here:<a href=\"https:\/\/www.thewindowsclub.com\/how-to-install-curl-on-windows-10\">https:\/\/www.thewindowsclub.com\/how-to-install-curl-on-windows-10<\/a><\/p><p>Once the Curl command line has been downloaded and installed, we can use the Curl commands that Sonny provided to generate the access token.<\/p><p>Open up a command prompt and paste the following code into it, remembering to replace the &#8216;YOUR-API-TOKEN&#8217; with the API token you generated earlier in Skyline.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34fc97b elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"34fc97b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>curl -s -X POST https:\/\/console.cloud.vmware.com\/csp\/gateway\/am\/api\/auth\/api-tokens\/authorize?grant_type=refresh_token \\\r\n  --header 'Accept: application\/json' \\\r\n  --header 'Content-Type: application\/x-www-form-urlencoded' \\\r\n  --data-urlencode &quot;refresh_token=YOUR-API-TOKEN&quot; | jq -r .access_token<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4e6052 elementor-widget elementor-widget-text-editor\" data-id=\"e4e6052\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you press return after entering the code, you should see a response similar to below:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f978e6 elementor-widget elementor-widget-image\" data-id=\"8f978e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"640\" height=\"188\" src=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-1024x300.png\" class=\"attachment-large size-large wp-image-231204\" alt=\"\" srcset=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-1024x300.png 1024w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-300x88.png 300w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-768x225.png 768w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-1536x449.png 1536w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-06-15_04_09-Christopher-@-Work-\u200e-OneNote-for-Windows-10-2048x599.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4aa419b elementor-widget elementor-widget-text-editor\" data-id=\"4aa419b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>As you may understand, the access_token that is generated appears directly under the command that we just entered.\u00a0 I have blocked out the majority of the access_token as this is sensitive data but the access_token is multiple lines in length and needs to be copied in its entirety into the next section.<\/p><p>As you will remember this access token is time sensitive, and therefore you will need to perform the next action quickly after creating the access token to avoid it expiring before being able to use it.<\/p><p>If you remember from the previous blog post you would go to the Insights APIs part of Skyline Advisor and then click the &#8216;View API Explorer&#8217; button to start up the GraphiQL site where we can test the token.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d96dc4 elementor-widget elementor-widget-image\" data-id=\"2d96dc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"640\" height=\"132\" src=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application-1024x211.png\" class=\"attachment-large size-large wp-image-231212\" alt=\"\" srcset=\"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application-1024x211.png 1024w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application-300x62.png 300w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application-768x158.png 768w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application-1536x317.png 1536w, https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/2023-10-12-11_13_18-VMware-Skyline-Advisor-Application.png 1640w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7bffb1 elementor-widget elementor-widget-text-editor\" data-id=\"e7bffb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The following code is the code that Sonny provided and is best to test this using the GraphiQL interface from within Skyline Advisor Pro.<\/p>\n<p>Remember to replace the &#8216;YOUR-ACCESS-TOKEN&#8217; section with your access token generated earlier.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06246db elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"06246db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>curl -s -X POST https:\/\/skyline.vmware.com\/public\/api\/data -H &quot;Authorization: Bearer YOUR-ACCESS-TOKEN&quot; -H 'Content-Type: application\/json' -d '{&quot;query&quot;: &quot;\r\n{\r\nactiveFindings(\r\n    start: 0\r\n    limit: 1\r\n    orderBy: { field: OBJECTS_COUNT, order: ASC }\r\n  ) {\r\n    findings {\r\n      findingId\r\n      kbLinkURLs\r\n      affectedObjects {\r\n        objects {\r\n          sourceName\r\n          objectName\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n&quot;}' | jq .\r\n}<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f29e7a elementor-widget elementor-widget-text-editor\" data-id=\"7f29e7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Hopefully at this point everything has been tested and you have seen a list of responses from the previous command.<\/p><p>In the next part of this blog series we&#8217;ll look at building the first part of the PowerBI report.\u00a0 When testing the data collection part of the PowerBI report we&#8217;ll be manually adding in the access_token value, we&#8217;ll try to auto-generate the access_token in a later part of the series.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introduction I&#8217;ve known about the VMware Skyline API capabilities since they were released in December 2021 but never really had an opportunity to look into them and a use for them.\u00a0 As I write this, I feel that I should clarify that I am a VMware employee and my use of VMware Skyline is to assist my customers to help [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":231248,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[49,9],"tags":[],"class_list":["post-231169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-skyline","category-vmware"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-content\/uploads\/2023\/10\/tn-skyline-animated-overview.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/comments?post=231169"}],"version-history":[{"count":33,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231169\/revisions"}],"predecessor-version":[{"id":231268,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/posts\/231169\/revisions\/231268"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/media\/231248"}],"wp:attachment":[{"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/media?parent=231169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/categories?post=231169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtualworlduk.co.uk\/wordp\/wp-json\/wp\/v2\/tags?post=231169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}