I have built an application to request HTTPS info written in JavaScript+HTML, and runs OK. Now I am translating it to MapBasic using the HTTP libraries but I get a response. The kernel function in JavaScript is:
function httpGet(url, key, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('GET', url, true);
xmlHttp.setRequestHeader('X-Api-Key', key);
xmlHttp.setRequestHeader('Content-Type', 'application/json');
xmlHttp.onload = function () {
callback(this.responseText);
};
xmlHttp.send();
}
in MAPBASIC I send the request with the function
MISendRequest(hFile, strHeaders, Len(strHeaders), strOptional, Len(strOptional), bAuthenticate)
where strHeaders = "Content-Type: application/json, X-Api-Key: "+s_mykey, strOptional="" and bAuthentica=1, and hFile is the result of the function
hFile = MIOpenRequestFull(hConnection, nVerb, strObject, strReferer, dwContext, strVersion, dwFlags)
with nVerb=GET, strReferer="", dwContext=1, strVersion=HTTP/1.1 and dwFlags = INTERNET_FLAG_SECURE and INTERNET_FLAG_EXISTING_CONNECT. These parameters have always worked ok for me before.
But this time I get "Missing Authentication Token" and the status code is 403 ("forbidden").
Which is the trick to solve this issue?
Thank you very much.
Sergi GR
------------------------------
Sergi Gamiz-Ribelles
Knowledge Community Shared Account
------------------------------