Perl
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
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";
}