This repository has been archived by the owner on Dec 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 125
/
getAccessToken.php
77 lines (66 loc) · 2.85 KB
/
getAccessToken.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE HTML>
<html>
<head>
<title>Constant Contact API v2 OAuth2 Example</title>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
<link href="styles.css" rel="stylesheet">
</head>
<!--
README: Get an access token
This example flow illustrates how to get an access token for a Constant Contact account owner using the OAuth2 server flow.
You must have a valid Constant Contact API Key, consumer sercret, and associated redirect_uri. All of these can be obtained from
http://constantcontact.mashery.com.
-->
<?php
// require the autoloaders
require_once '../src/Ctct/autoload.php';
require_once '../vendor/autoload.php';
use Ctct\Auth\CtctOAuth2;
use Ctct\Exceptions\OAuth2Exception;
// Enter your Constant Contact APIKEY, CONSUMER_SECRET, and REDIRECT_URI
define("APIKEY", "ENTER YOUR API KEY");
define("CONSUMER_SECRET", "ENTER YOUR CONSUMER SECRET");
define("REDIRECT_URI", "ENTER YOUR REDIRECT URI");
// instantiate the CtctOAuth2 class
$oauth = new CtctOAuth2(APIKEY, CONSUMER_SECRET, REDIRECT_URI);
?>
<body>
<div class="well">
<h3>OAuth 2 Authorization Example</h3>
<?php
// print any error from Constant Contact that occurs during the authorization process
if (isset($_GET['error'])) {
echo '<span class="label label-important">OAuth2 Error!</span>';
echo '<div class="container alert-error"><pre class="failure-pre">';
echo 'Error: ' . htmlspecialchars( $_GET['error'] );
echo '<br />Description: ' . htmlspecialchars( $_GET['error_description'] );
echo '</pre></div>';
die();
}
// If the 'code' query parameter is present in the uri, the code can exchanged for an access token
if (isset($_GET['code'])) {
try {
$accessToken = $oauth->getAccessToken($_GET['code']);
} catch (OAuth2Exception $ex) {
echo '<span class="label label-important">OAuth2 Error!</span>';
echo '<div class="container alert-error"><pre class="failure-pre">';
echo 'Error: ' . htmlspecialchars( $ex->getMessage() ) . "\n";
echo "Error Details: \n";
echo htmlspecialchars( print_r( $ex->getErrors() ) );
echo '</pre></div>';
die();
}
echo '<span class="label label-success">Access Token Retrieved!</span>';
echo '<div class="container alert-success"><pre class="success-pre">';
htmlspecialchars( print_r( $accessToken ) );
echo '</pre></div>';
} else {
?>
<!-- If the 'code' query parameter is not present, display the link the user needs to visit to initiate the oauth flow -->
<button class="btn btn-primary" type="button"
onclick="window.location.href='<?php echo $oauth->getAuthorizationUrl(); ?>';">Get Access Token
</button>
<?php } ?>
</div>
</body>
</html>