I am new to marketing cloud, can anyone tell me how to automate contactdeletion process using new OAuth 2.0. Using legacy the process works but not able to proceed with OAuth 2.0.
<script runat="server">
Platform.Load("Core","1.1.1");
var authEndpoint = 'https://mc6ktt9crwdpg55f3p-9j1-
1kfyq.auth.marketingcloudapis.com';
var payload = {
client_id: "Client ID",
client_secret: "Client secret",
grant_type: "client_credentials"
};
var url = authEndpoint + '/v2/token';
var contentType = 'application/json';
try {
var accessTokenRequest = HTTP.Post(url, contentType, Stringify(payload));
if(accessTokenRequest.StatusCode == 200) {
var tokenResponse =
Platform.Function.ParseJSON(accessTokenRequest.Response[0]);
var accessToken = tokenResponse.access_token;
}
}
catch (error) {
Write(Stringify(error));
}
if(accessToken !='')
{
var contentType1 = 'application/json';
var restUrl = 'https://mc6ktt9crwdpg55f3p-9j1-
1kfyq.rest.marketingcloudapis.com/';
var headerNames = ["Authorization"];
var headerValues = ["Bearer " + accessToken];
payload1 = '{';
payload1 += ' "deleteOperationType": "ContactAndAttributes",';
payload1 += ' "targetList": { ';
payload1 += ' "listType": { ';
payload1 += ' "listTypeID":3';
payload1 += ' },';
payload1 += ' "listKey": "' + 'DE Customer Key' + '"';
payload1 += ' },';
payload1 += ' "deleteListWhenCompleted":false,';
payload1 += ' "deleteListContentsWhenCompleted":true';
payload1 += '}';
var endpoint = restUrl + 'contacts/v1/contacts/actions/delete?
type=listReference';
}
try
{
var result = HTTP.Post(endpoint, contentType1, payload1, headerNames,
headerValues)
}
catch (e) {
Write(Stringify(e));
}
</script>
code results in 401 error