Using cURL, I am able to get the authorization code. However when then using cURL to try to exchange for an access token, I get an error: Client authentication (if the client has credentials) or the client_id parameter is required for an authorization request using the code grant type. Not sure what I am doing wrong. Any suggestions?
Hello Christian,
The steps to Exchange the Authorization Code for an Access Token and a Refresh Token can be found on the OAuth2.0 Server Flow page under Step 4:
https://v3.developer.constantcontact.com/api_guide/server_flow.html
Please note that this request requires the string “client_id:client_secret” to be encoded using Base 64.
Hello Courtney E
I am getting the same issue. I am able to get the authorization code using curl. But when I try to exchange authorization code with access token it gives me error "Bad message 400, reason: Unkown version". I am using the same code provided in the Server Flow guide:
function getAccessToken($redirectURI, $clientId, $clientSecret, $code) {
// Use cURL to get access token and refresh token
$ch = curl_init();
// Define base URL
$base = 'https://idfed.constantcontact.com/as/token.oauth2';
// Create full request URL
$url = $base . '?code=' . $code . '&redirect_uri=' . $redirectURI . '&grant_type=authorization_code&scope=contact_data';
curl_setopt($ch, CURLOPT_URL, $url);
// Set authorization header
// Make string of "API_KEY:SECRET"
$auth = $clientId . ':' . $clientSecret;
// Base64 encode it
$credentials = base64_encode($auth);
// Create and set the Authorization header to use the encoded credentials
$authorization = 'Authorization: Basic ' . $credentials;
curl_setopt($ch, CURLOPT_HTTPHEADER, array($authorization));
// Set method and to expect response
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Make the call
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Hello MrRoyo,
Thank you for reaching out to Constant Contact API Developer Support, and for your patience. My team is here to assist outside software developers with questions about building into Constant Contact's API.
It looks like we're working with you directly via email regarding your inquiry, but I wanted to close the loop here as well. If you haven't received our reply, please let us know via email at webservices@constantcontact.com, and reference case number 28232085.
Announcements
Join our list to be notified of new features and updates to our V3 API.
Sign Up