Back to discussions
Expand all | Collapse all
How to use an Apptio API GET in Excel Power Query via JSON
Tony WongMon August 05, 2024 07:49 AM
Has anyone have success in using the JSON API to use the GET from Web function within Excel's Power Query ...
Apptio Community MemberTue August 06, 2024 01:30 AM
Hi Tony, I suspect that error message is the Apptio web page returned when there are issues with the ...
Tony WongTue August 06, 2024 10:32 AM
Thank you, @Mark Johnson. I have sent you an email separately. ------------------------------ Tony ...
1. How to use an Apptio API GET in Excel Power Query via JSON
Like
Tony Wong
Posted Mon August 05, 2024 07:49 AM
Has anyone have success in using the JSON API to use the GET from Web function within Excel's Power Query to pull data?
Tried following the instructions from the MS article -- Using a REST API as a data source and I keep getting an error message as below.
------------------------------
Tony Wong
ExxonMobil TBM Consultant
------------------------------#CostingStandard(CT-Foundation)
2. RE: How to use an Apptio API GET in Excel Power Query via JSON
Like
Apptio Community Member
Posted Tue August 06, 2024 01:30 AM
Hi Tony,
I suspect that error message is the Apptio web page returned when there are issues with the API call (invalid parameters in the call, user account is not an admin or service account, or many other issues).
I did build an excel macro some years ago that would make GET calls to Apptio API end points and load the response into a worksheet. A clunky solution but did get it to work. Happy to catch up and run through it at some point.
Cheers Mark
------------------------------
Mark Johnson
Delivery Manager - TBM Office
Origin Energy
+61 467 863 134
mark.johnson1@origin.com.au
------------------------------Original Message
3. RE: How to use an Apptio API GET in Excel Power Query via JSON
Like
Tony Wong
Posted Tue August 06, 2024 10:32 AM
Thank you, @Mark Johnson. I have sent you an email separately.
------------------------------
Tony Wong
ExxonMobil TBM Consultant
------------------------------Original Message
×
New Best Answer
This thread already has a best answer. Would you like to mark this message as the new best answer?
'; if ($discussionImgModal.length == 0) { $("form").append(modalHtml); $discussionImgModal = $("#discussion-img-modal"); $discussionImgModal.find(".close").on('click', function () { $discussionImgModal.modal("hide"); }); } loadImage($discussionImgModal, source, title); } }); function loadImage($discussionImgModal, source, title) { var discussionImg = $discussionImgModal.find("#modalImg")[0]; discussionImg.onload = function () { $discussionImgModal.modal("show"); }; discussionImg.src = source; $discussionImgModal.find("#caption").html(title); } var replyInlineParam = HigherLogic.Util.getParameterByName('ReplyInline'); if (!HigherLogic.Util.stringIsNullOrWhiteSpace(replyInlineParam)) { var $replyInline = $('.reply-inline[data-message-key="' + replyInlineParam + '"]'); if ($replyInline.length > 0) { openEditor($replyInline); } } $('.reply-inline').on('click', function () { hl_common_ui_blockUI(); var $this = $(this); if ($('.inline-reply-snippet').length > 0) { hl_common_ui_unBlockUI(); $('.inline-reply-snippet').find('.modal.inline-confirm').modal('show'); $('.inline-reply-snippet').find('.modal.inline-confirm').data('reply-id', $this.prop('id')); } else { openEditor($this); } }); function openEditor($this) { $('.inline-reply-snippet').remove(); var postData = { MessageKey: $this.data('message-key'), currentUrl: window.location.href }; HigherLogic.Util.post( '/higherlogic/ui/mvc/eGroups/eGroups/GetReplyInline', JSON.stringify(postData), 'html' ).done(function (data) { var redirectUrl = $(data).data('redirect-url'); if (redirectUrl) { // gives return location for unauthenticated user redirect to login redirectUrl = hl_common_util_updateQueryStringParameter(redirectUrl, 'ReturnUrl', encodeURIComponent(window.location.href)); // gives return location for unsubscribed user redirect to subscribe window.location.href = hl_common_util_updateQueryStringParameter(redirectUrl, 'PostByLink', encodeURIComponent(window.location.href)); return; } $this.closest('li').append(data); var $div = $('#' + $(data).first('div').prop('id')); var bottomOfDiv = $div.offset().top + 500; $('html, body').animate({ scrollTop: bottomOfDiv - $(window).height() }, 1000); hl_common_ui_unBlockUI(); }); } });