In order to use the Constant Contact SDK you have to follow these steps:
-
Download and build the CTCTWrapper project so that CTCT.dll is generated. Add the CTCT.dll library to your references project.
-
Place your credentials in the app.config or web.config file under the
appSettings
tag.
<appSettings>
<add key="APIKey" value="APIkey"/>
<add key="RedirectURL" value="RedirectURL"/>
</appSettings>
SDK Documentation is hosted at http://constantcontact.github.io/.net-sdk
API Documentation is located at http://developer.constantcontact.com/docs/developer-guides/api-documentation-index.html
In the file you wish to use the SDK include the following code in your file:
using CTCT;
using CTCT.Components;
using CTCT.Components.Contacts;
using CTCT.Components.EmailCampaigns;
using CTCT.Exceptions;
2.0) If the access token was already obtained, you may set the API Key and token like this. NOT ideal if you want to access multiple/variable Constant Contact accounts.
private string _apiKey = "xxxxxxxxx";
private string _accessToken = "xxxx-xxxxx-xxxxx-xxxx";
_accessToken = OAuth.AuthenticateFromWinProgram(ref state);
(This will require the user to grant access in a browser window.)
protected void Page_Load(object sender, EventArgs e)
{
var code = HttpContext.Current.Request.QueryString["code"];
if (!string.IsNullOrWhiteSpace(code))
{
_accessToken = OAuth.GetAccessTokenByCodeForWebApplication(HttpContext.Current, code);
}
}
protected void ButtonLogin_Click(object sender, EventArgs e)
{
OAuth.AuthorizeFromWebApplication(HttpContext.Current, "ok");
}
IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey);
ContactService contactService = new ContactService(userServiceContext);
IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey);
ConstantContactFactory serviceFactory = new ConstantContactFactory(userServiceContext);
ContactService contactService = serviceFactory.CreateContactService();
Example of getting a contact:
int contactId = 12345;
Contact contact = contactService.GetContact(contactId);