{"id":6588,"date":"2025-02-06T11:39:50","date_gmt":"2025-02-06T11:39:50","guid":{"rendered":"https:\/\/powergi.net\/?p=6588"},"modified":"2026-06-16T15:42:27","modified_gmt":"2026-06-16T15:42:27","slug":"oauth-2-0-authentication-in-power-query-api-power-bi-microsoft-excel","status":"publish","type":"post","link":"https:\/\/powergi.net\/de\/blog\/oauth-2-0-authentication-in-power-query-api-power-bi-microsoft-excel\/","title":{"rendered":"OAuth 2.0 Authentication in Power Query | API | Power BI | Microsoft Excel"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"6588\" class=\"elementor elementor-6588\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-63b83ae elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"63b83ae\" data-element_type=\"section\" data-e-type=\"section\" data-settings='{\"jet_parallax_layout_list\":[]}'>\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-f35648f\" data-id=\"f35648f\" 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-0cc22bd elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"0cc22bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings='{\"exclude_headings_by_selector\":[],\"no_headings_message\":\"No headings were found on this page.\",\"headings_by_tags\":[\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],\"marker_view\":\"numbers\",\"minimize_box\":\"yes\",\"minimized_on\":\"tablet\",\"hierarchical_view\":\"yes\",\"min_height\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]},\"min_height_tablet\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]},\"min_height_mobile\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]}}' data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tTable of Contents\t\t\t<\/h4>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__0cc22bd\" aria-expanded=\"true\" aria-label=\"Abrir la tabla de contenidos\"><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__0cc22bd\" aria-expanded=\"true\" aria-label=\"Cerrar la tabla de contenidos\"><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__0cc22bd\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ee57d0 elementor-widget elementor-widget-text-editor\" data-id=\"9ee57d0\" 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><span style=\"font-weight: 400;\">In this blog, we will show how to authenticate APIs that use <a href=\"https:\/\/powergi.net\/blog\/active-directory-oauth-in-power-automate-how-to-set-up-certificate-credential-type\/\">OAuth 2.0<\/a> and set it up in a way that scheduled refreshes from <\/span><a href=\"https:\/\/powergi.net\/\" target=\"_blank\" rel=\"noopener\"><b>Power BI<\/b><\/a><span style=\"font-weight: 400;\"> service will not fail at all. If you\u2019re working with <a href=\"https:\/\/powergi.net\/microsoft-power-platform-consulting-services\/\"><strong>Power Platform consulting services<\/strong><\/a>, ensuring smooth API authentication is a critical step in automating workflows efficiently.<\/span><\/p><p>Many organizations also integrate these solutions as part of broader <a href=\"https:\/\/powergi.net\/power-apps-consulting-services\/\"><strong>enterprise business application services<\/strong><\/a>, making sure that data connectivity and automation align with long-term digital strategies.<\/p><p><span style=\"font-weight: 400;\">It\u2019s important to know the way APIs work may vary and you may not be able to apply 100% what we show in this article but the basics for API <a href=\"https:\/\/powergi.net\/blog\/active-directory-oauth-in-power-automate-how-to-set-up-certificate-credential-type\/\">OAuth<\/a> connections are the same in Power BI regardless of how the API service works.\u00a0<\/span><\/p><div id=\"seology-cta-1\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"7280\" class=\"elementor elementor-7280\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7e3f164 e-con-full e-flex e-con e-parent\" data-id=\"7e3f164\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"background_background\":\"classic\",\"jet_parallax_layout_list\":[]}'>\n\t\t<div class=\"elementor-element elementor-element-9078c9f e-con-full e-flex e-con e-child\" data-id=\"9078c9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b99949 elementor-widget elementor-widget-heading\" data-id=\"7b99949\" 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<p class=\"elementor-heading-title elementor-size-default\">Automate tasks that slow you down<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e61db5 elementor-widget elementor-widget-heading\" data-id=\"8e61db5\" 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<p class=\"elementor-heading-title elementor-size-default\">Free up your team\u2019s time and focus on strategic work with digital and robotic automation.<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a578907 e-flex e-con-boxed e-con e-child\" data-id=\"a578907\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c827b elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"e8c827b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"#ctc_chat\">\n\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d834237 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"d834237\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/powergi.net\/de\/contact\/\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-envelope\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div><p><span style=\"font-weight: 400;\">OAuth 2.0 connections in Power BI usually require 2 steps:\u00a0<\/span><\/p><ol><li><span style=\"font-weight: 400;\">Getting an access token from an authentication endpoint\u00a0<\/span><\/li><li><span style=\"font-weight: 400;\">Calling the API endpoint and make reference to the access token obtained in point #1.\u00a0<\/span><\/li><\/ol><p><span style=\"font-weight: 400;\">How we achieve points #1 and #2 will depend on how the API works but it\u2019s important that if you plan to publish the report to the Power BI service, all the code is written in the same query \u2013 i.e., do not call the access token from a separate query or the refresh will fail.\u00a0<\/span><\/p><p>Explore our expert <a href=\"https:\/\/powergi.net\/microsoft-power-platform-consulting-services\/\"><strong>Power Platform Consulting Services<\/strong><\/a> to unlock the full potential of automating business processes. With our extensive knowledge of Power BI and API integrations, we streamline complex operations, ensuring efficient connectivity and workflow automation that aligns with your digital strategies.<\/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-60d6395 elementor-widget elementor-widget-heading\" data-id=\"60d6395\" 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<h2 class=\"elementor-heading-title elementor-size-default\">Step 1. Get access token <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee7cceb elementor-widget elementor-widget-text-editor\" data-id=\"ee7cceb\" 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><span style=\"font-weight: 400;\">Start a blank query and call the authentication enpoint using the Json.Document function. Make sure to indicate the relative path and headers.\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">let\u00a0<\/span><\/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-bfaf3f4 elementor-widget elementor-widget-code-highlight\" data-id=\"bfaf3f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>response = Json.Document(Web.Contents(\"https:\/\/pgi. apiservice.com\/auth\", [ \r\n \tRelativePath=\"token\", \r\n \tHeaders=[#\"Content-Type\"=\"application\/x-www-form-urlencoded\"],      Content=Text.ToBinary(\"grant_type=client_credentials&amp;client_id=xyz&amp;client_secret=abc&amp;scope=all\")])), \r\n\taccess_token = response[access_token] \r\n \r\nin \r\n\taccess_token \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b652542 elementor-widget elementor-widget-text-editor\" data-id=\"b652542\" 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><span style=\"font-weight: 400;\">For above code, the step \u201cresponse\u201d will include the access token, and the attribute \u201caccess_token\u201d is what gives us the code we need to use in the following steps <\/span><\/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-2347456 elementor-widget elementor-widget-image\" data-id=\"2347456\" 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=\"512\" height=\"105\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-1.png\" class=\"attachment-large size-large wp-image-6590\" alt=\"unnamed (1)\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-1.png 512w, https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-1-300x62.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\">\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-5c62b8f elementor-widget elementor-widget-heading\" data-id=\"5c62b8f\" 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<h2 class=\"elementor-heading-title elementor-size-default\">Step 2. Call API service \n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-61248fa elementor-widget elementor-widget-text-editor\" data-id=\"61248fa\" 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><span style=\"font-weight: 400;\">Let\u2019s add a new step in the query that will call the API endpoint we\u2019re interested in \u2013 in this case, Clients. We will use again the Json.Document function, and separate the Relative Path, Query and Headers.\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">Make sure to include query parameters in the <\/span><a href=\"https:\/\/powergi.net\/blog\/epoch-dates-in-power-query-excel-power-bi\/\" target=\"_blank\" rel=\"noopener\"><b>Power Query<\/b><\/a><span style=\"font-weight: 400;\"> section and not as part of the URL, otherwise refresh in Power BI may fail.\u00a0<\/span><\/p><div id=\"seology-cta-2\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"7283\" class=\"elementor elementor-7283\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7e3f164 e-con-full e-flex e-con e-parent\" data-id=\"7e3f164\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"background_background\":\"classic\",\"jet_parallax_layout_list\":[]}'>\n\t\t<div class=\"elementor-element elementor-element-9078c9f e-con-full e-flex e-con e-child\" data-id=\"9078c9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b99949 elementor-widget elementor-widget-heading\" data-id=\"7b99949\" 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<p class=\"elementor-heading-title elementor-size-default\">Is your business ready for automation?<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e61db5 elementor-widget elementor-widget-heading\" data-id=\"8e61db5\" 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<p class=\"elementor-heading-title elementor-size-default\">Automate processes with Microsoft Power Platform.<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a578907 e-flex e-con-boxed e-con e-child\" data-id=\"a578907\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c827b elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"e8c827b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"#ctc_chat\">\n\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d834237 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"d834237\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/powergi.net\/de\/contact\/\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-envelope\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div><p><span style=\"font-weight: 400;\">Note how the header includes a reference to the access_token step calculated in step #1 <\/span><\/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-774d148 elementor-widget elementor-widget-code-highlight\" data-id=\"774d148\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>API_Data= Json.Document(Web.Contents(\"https:\/\/pgi. apiservice.com\/api\", [ \r\n  RelativePath=\"Clients\", \r\n  Query=[page_no=\"1\",page_size=\"100\"], \r\n  Headers=[#\"Content-Type\"=\"application\/json\", Authorization=\"Bearer \"&amp;access_token]])) \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57bf55c elementor-widget elementor-widget-text-editor\" data-id=\"57bf55c\" 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><span style=\"font-weight: 400;\">Final code should look like this: <\/span><\/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-43247c7 elementor-widget elementor-widget-image\" data-id=\"43247c7\" 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=\"512\" height=\"182\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-2.png\" class=\"attachment-large size-large wp-image-6591\" alt=\"unnamed (2)\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-2.png 512w, https:\/\/powergi.net\/wp-content\/uploads\/2025\/02\/unnamed-2-300x107.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\">\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-c8678bc elementor-widget elementor-widget-text-editor\" data-id=\"c8678bc\" 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><span style=\"font-weight: 400;\">By using some M code and a couple of steps in Power Query you can connect to APIs that authenticate through OAuth 2.0. <\/span><a href=\"https:\/\/powergi.net\/contact\/\" target=\"_blank\" rel=\"noopener\"><b>Contact us<\/b><\/a><span style=\"font-weight: 400;\"> if you have any questions or if you want to know how we can help you create amazing automations with your internal systems and third party apps that have APIs available! <\/span><\/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>Table of Contents In this blog, we will show how to authenticate APIs that use OAuth 2.0 and set it up in a way that scheduled refreshes from Power BI service will not fail at all. If you&#8217;re working with Power Platform consulting services, ensuring smooth API authentication is a critical step in automating workflows [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":6606,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"glossary_letter":"","footnotes":""},"categories":[85],"tags":[157,17,165],"class_list":["post-6588","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-power-automate-cat","tag-power-apps","tag-power-automate","tag-power-automate-workflow"],"glossary_letter":null,"rank_math_title":"Oauth 2.0 Power Query | Microsoft Excel | Power BI | Power GI","rank_math_description":"Learn how to authenticate APIs with OAuth 2.0 in Power Query. Step-by-step instructions on how to set up Power BI and Excel for smooth scheduled refreshes and API integration.","rank_math_focus_keyword":"oauth 2.0 power query","_links":{"self":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/6588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/comments?post=6588"}],"version-history":[{"count":3,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/6588\/revisions"}],"predecessor-version":[{"id":13560,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/6588\/revisions\/13560"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/media\/6606"}],"wp:attachment":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/media?parent=6588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/categories?post=6588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/tags?post=6588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}