Beginner C# V3 API Example

SOLVED
Highlighted
Regular Visitor

Beginner C# V3 API Example

I'm attempting to use the API for a C# ASP.net project.  Unfortunately most of the examples seem to be around Version 2 of the API, or in PHP.  I'm mostly just looking to get a list of contacts.  Is there example code for C# that might be around, that shows the authentication, refresh of key and downloading a contact list?

 

Tags (2)
1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Moderator

Re: Beginner C# V3 API Example

Hello,

Thank you for reaching out to Constant Contact API Developer Support.

Here is an example of what a call to obtain an access token might look like:

string authorization_code = "{authorization code}"
var client = new RestClient("https://idfed.constantcontact.com/as/token.oauth2?code="+ authorization_code +"&redirect_uri={redirect URI}&grant_type=authorization_code&client_secret={secret}");
var request = new RestRequest(Method.POST);
 
string credentials = "{api key}:{secret}"
byte[] plain = System.Text.Encoding.UTF8.GetBytes(credentials);
base64cred = Convert.ToBase64String(plain);
var base64auth = "Basic " + base64cred;
request.AddHeader("authorization", base64auth);
 
IRestResponse response = client.Execute(request);


Note that this is what your app would do once the user is redirected to your app after allowing access during the OAuth process. You can use the RestRequest method to make other calls, such as POST calls to refresh the token.

Please have a look and let me know if you have any questions!

Regards,
David B.
Tier II API Support Engineer

View solution in original post

8 REPLIES 8
Highlighted
Moderator

Re: Beginner C# V3 API Example

Hello,

Thank you for reaching out to Constant Contact API Developer Support.

Here is an example of what a call to obtain an access token might look like:

string authorization_code = "{authorization code}"
var client = new RestClient("https://idfed.constantcontact.com/as/token.oauth2?code="+ authorization_code +"&redirect_uri={redirect URI}&grant_type=authorization_code&client_secret={secret}");
var request = new RestRequest(Method.POST);
 
string credentials = "{api key}:{secret}"
byte[] plain = System.Text.Encoding.UTF8.GetBytes(credentials);
base64cred = Convert.ToBase64String(plain);
var base64auth = "Basic " + base64cred;
request.AddHeader("authorization", base64auth);
 
IRestResponse response = client.Execute(request);


Note that this is what your app would do once the user is redirected to your app after allowing access during the OAuth process. You can use the RestRequest method to make other calls, such as POST calls to refresh the token.

Please have a look and let me know if you have any questions!

Regards,
David B.
Tier II API Support Engineer

View solution in original post

Highlighted
Member

Re: Beginner C# V3 API Example

I have a similar need, but in an automated (as in unattended) system scenario. How do I get past the Oauth interaction?

Highlighted
Moderator

Re: Beginner C# V3 API Example

Hello,

 

Our V3 API is only able to be used with OAuth so there is no way to bypass the initial connection. However, once you have connected a Constant Contact account and received the initial access token and refresh token, you would use the refresh flow to exchange the refresh token for a new access token and refresh token without having to have the account owner log in again.

 

Please let me know if you have any other questions.

 

Sincerely,
David B.
Tier II API Support Engineer

Highlighted
Advisor

Re: Beginner C# V3 API Example

Thanks for the example but RestClient is not a native .net object.  Could you please give a COMPLETE .net example of doing this from a non-user facing system using just native .net objects?  That is, probably like many companies, we have 0 need for anything client side; we just want to manage our lists from little internal .net apps.  Callbacks to URLs are confusing for non-web apps.  Can we just have an example of a .net console app that authenticates then calls an API or two?  Ideally the ones to create a list (which looks easy) and the one to bulk load from a .csv file (which looks a bit more confusing).  Again, please no magic handwaving about getting the authentication code or "put redirect URL here" since those make no sense in a non-web app.

Highlighted
Occasional Participant

Re: Beginner C# V3 API Example

Same situation as you. Apparently they are unaware there are other OAuth flows that allow for server to server communication without redirect_uri's... We will continue to use the V1 API we are using now as it provides this capability. So sad they have chosen this route with their API design.

Highlighted
Member

Re: Beginner C# V3 API Example

Where can I find a v1 API example and docs or could you share yours? I need automated solution without oAuth redirect as well...

Highlighted
Advisor

Re: Beginner C# V3 API Example

V1 API?  No idea but try looking at the code I added here some time ago for the v3 api.  It's fragments of code from the app I wrote so some of it won't make any sense in your app but you'll get the idea for how to deal with auth and refresh tokens to do what you need to get done.  Good luck!

 

https://community.constantcontact.com/t5/Getting-Started-with-API-s/V3-Starter-NET-Project/m-p/34029...

 

Thanks, Steve

Highlighted

Re: Beginner C# V3 API Example

I am in the same boat as you on V3 examples. Have you been able to get a project working with C# that you'd be willing to share perhaps?

Developer Portal

View API documentation, code samples, get your API key.

Visit Page

Register for our "Making Sense of Online Marketing for Retail" Webinar

Join us on Thursday, August 13th at 2pm ET for a free webinar where we'll discuss how to incorporate online marketing into your retail store.

Read More
Featured