11-02-2018 01:25 PM
I have been trying for several days to connect PowerBI to MasteryConnect through their API. MasteryConnect is an educational services provider that hosts student testing information. They allow teachers to create their own assessments, administer assessments designed by other vendors, or generate assessments using their own item bank. All information can be tied to learning standards.
To connect to the API, I followed the instructions they sent me which required the use of Postman. I successfully got Postman to send a GET statement and return information. Below you can see the Postman screen with the Url generated for the GET statement. I have also included the Postman Console showing the url and headers that are passed in the GET statement. Below that is the Web Data Source screen. I have tried every variation I can think of in the Key portion of the PowerBI Web Data Source screen. Nothing seems to work and it continues to return the error "A web API key can only be specified with a web API key is provided."
I have additionally tried pasting many combinations into the Username box of the Basic screen for Web data source. I have not found the right syntax or combination of headers needed to return a result. Thank you in advance to anyone who can help with this.
11-05-2018 12:34 AM
Here is a similar one issue and it had solved well for you to refer to,
Hope this helps.
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
11-07-2018 06:09 AM
I am trying a new tactic on this issue. I found the following OAuth 1.0 script and am trying to use it to create the GET to the MasteryConnect API. PowerBI does not like the https part of the statement and calls it out as a syntax error in the advanced querry editor. Obviously I am subbing out my own information for the key, code, signature, etc..
Source = Web.Contents("https://api.masteryconnect.com/api/students.json?page=1″, [Headers=[#”Authorization”=”OAuth oauth_consumer_key=””YOURKEY””, oauth_nonce=””YOURCODE””, oauth_signature=””YOURSIGNATURE””, oauth_signature_method=””HMAC-SHA1″”, oauth_timestamp=””TIMESTAMP””, oauth_token=””YOURTOKEN””, oauth_version=””1.0″””]]