Hi all,
how to do GET rest api in AL ?
I am using cloud BC?
Tested in Powershell with code no prob
#--------------------------------
function Execute-GetRequest
#--------------------------------
(
[String] $URL
)
{
$WebRequest = [System.Net.WebRequest]::Create($URL)
$WebRequest.Headers.Add("X-IBM-Client-ID", "f8c6f3f0-c644-49a9-9226-52002aed6d86")
$WebRequest.Headers.Add("X-IBM-Client-Secret", "O8sH3cE1dY6cW2pR0wX3uA0vR7dQ1nF2sG0rQ1rN2yN7gT2sJ6")
$WebRequest.ContentType = "application/json"
$WebRequest.Method = "GET"
try {
$resp = $WebRequest.GetResponse()
$responseStream = $resp.GetResponseStream()
$Reader = [System.IO.StreamReader]($responseStream)
$ReturnXml = $Reader.ReadToEnd()
$responseStream.Close()
return $ReturnXml
} catch {
Write-Error $Error[0]
}
}
#----------------------------------------------------------------------------------------------------------------------
$url = "https://************/CorpPassAuth?callback_url=https://businesscentral.dynamics.com/sandbox&tax_agent=false&state=State&scope=GSTF7SubCP"
$ret = Execute-GetRequest $url
$ret
I used this in BC, failed
procedure CallBusinessCentralAPI()
var
Client: HttpClient;
ResponseMSg: HttpResponseMessage;
Url: Text;
RequestHeaders: HttpHeaders;
RequestBody: Text;
RequestContent: HttpContent;
RequestMsg: HttpRequestMessage;
Result: Text;
begin
RequestHeaders := Client.DefaultRequestHeaders();
//RequestHeaders.Add('Authorization', GetAuthenticationHeaderValue(AccessToken));
RequestHeaders.Add('X-IBM-Client-Id', 'f8c6f3f0-c644-49a9-9226-52002aed6d86');
RequestHeaders.Add('X-IBM-Client-Secret', 'O8sH3cE1dY6cW2pR0wX3uA0vR7dQ1nF2sG0rQ1rN2yN7gT2sJ6');
RequestHeaders.Add('Accept', 'application/json');
RequestContent.WriteFrom(RequestBody);
RequestContent.GetHeaders(RequestHeaders);
Url := 'https://******************/CorpPassAuth?callback_url=https://businesscentral.dynamics.com/sandbox&tax_agent=false&state=State&scope=GSTF7SubCP';
RequestMsg.GetHeaders(RequestHeaders);
RequestMsg.SetRequestUri(Url);
RequestMsg.Method('GET');
Client.Send(RequestMsg, ResponseMSg);
// Read the response content as json.
ResponseMSg.Content().ReadAs(responseText);
Message('%1', responseText);
end;
it returns me html instead of json
any advise?
Thanks