Sample code for 30+ languages & platforms
React Native

Dynamics CRM Oauth2 Client Credentials

See more Dynamics CRM Examples

Get an OAuth2 access token for Dynamics CRM using client credentials.

Chilkat React Native Downloads

React Native
import { Http, HttpRequest, HttpResponse, JsonObject } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Pass the client ID/secret using Basic HTTP authentication.
  http.login = 'CLIENT_ID';
  http.password = 'CLIENT_SECRET';
  http.basicAuth = true;

  const req = new HttpRequest();
  req.addParam('client_secret', 'CLIENT_SECRET');
  req.addParam('client_id', 'CLIENT_ID');
  req.addParam('scope', 'https://yourdynamicsdomain.crm3.dynamics.com/.default');
  req.addParam('grant_type', 'client_credentials');

  // Use your own tenant ID, for example 4d8fdd66-66d1-43b0-ae5c-e31b4b7de5cd
  const url = 'https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token';
  req.httpVerb = 'POST';
  req.contentType = 'application/x-www-form-urlencoded';

  const resp = new HttpResponse();
  try {
    await http.httpReqAsync(url, req, resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const statusCode = resp.statusCode;
  console.log(`Response status code = ${statusCode}`);

  const json = new JsonObject();
  json.load(resp.bodyStr);

  json.emitCompact = false;
  console.log(json.emit());

  if (statusCode === 200) {
    json.writeFile('qa_data/tokens/dynamicsCrmClientCredentialsToken.json');
    console.log('Success.');
  } else {
    console.log('Failed.');
  }
}