Sample code for 30+ languages & platforms
Perl

Dynamics CRM Oauth2 Client Credentials

See more Dynamics CRM Examples

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

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = chilkat::CkHttp->new();

# Pass the client ID/secret using Basic HTTP authentication.
$http->put_Login("CLIENT_ID");
$http->put_Password("CLIENT_SECRET");
$http->put_BasicAuth(1);

$req = chilkat::CkHttpRequest->new();
$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
$url = "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token";
$req->put_HttpVerb("POST");
$req->put_ContentType("application/x-www-form-urlencoded");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpReq($url,$req,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$statusCode = $resp->get_StatusCode();
print "Response status code = " . $statusCode . "\r\n";

$json = chilkat::CkJsonObject->new();
$json->Load($resp->bodyStr());

$json->put_EmitCompact(0);
print $json->emit() . "\r\n";

if ($statusCode == 200) {
    $json->WriteFile("qa_data/tokens/dynamicsCrmClientCredentialsToken.json");
    print "Success." . "\r\n";
}
else {
    print "Failed." . "\r\n";
}