C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
namespace AY_AccessToken
{
public class ClassAccessToken
{
private static string clientId = "2539b54-0891-4aad-99a6";
private static string clientSecret = "H18Q~DntOA9aQX";
private static string resource = "https://10devadevaos.axcloud.dynamics.com";
private static HttpClient httpClient = new HttpClient();
public static string GetAccessToken()
{
var content = new StringContent($"grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}&resource={resource}");
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
var response = httpClient.PostAsync("https://login.microsoftonline.com/bacbd475-b9da-43fa/oauth2/token", content).GetAwaiter().GetResult();
var result = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
string accessToken = result.Split(':')[1].Split(',')[0].Replace("\"", "");
string search = "\"access_token\":\"";
int start = result.IndexOf(search) + search.Length;
int end = result.IndexOf("\"", start);
string accessTokenFinal = result.Substring(start, end - start);
return accessTokenFinal;
}
}
}
Dynamics 365 F&O code to get the token:
using AY_AccessToken;
internal final class RunnableClass1
{
public static void main(Args _args)
{
str accessToken;
accessToken = ClassAccessToken::GetAccessToken();
info(accessToken);
}
}