MailChimp (OAuth2)#

MailChimp has a simple API for working with your own data and a good library already exists for this use. However, to allow other MailChimp users to use an app you develop, the OAuth2 API allows those users to give or revoke access without creating a key themselves.

Registering a new app#

Instructions for generating your own OAuth2 app can be found at https://developer.mailchimp.com/documentation/mailchimp/guides/how-to-use-oauth2/. It is worth reading that carefully before following the instructions below.

Login via https://login.mailchimp.com/, which will redirect you to https://usX.admin.mailchimp.com/ where the prefix usX (X is an integer) is the subdomain you need to connect to. Click on your username in the top right corner and select Profile. On the next page select Extras then click API keys, which should lead you to:

App registration (where X is dependent on your account)

https://usX.admin.mailchimp.com/account/oauth2/

Fill in the form with the following URL for local development:

Development callback URL

https://127.0.0.1:8000/accounts/mailchimp/login/callback/

Testing Locally#

Note the requirement of https. If you would like to test OAuth2 authentication locally before deploying a default django project will raise errors because development mode does not support https. One means of circumventing this is to install django-extensions:

pip install django-extensions

add it to your INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'django_extensions',
    ...
)

and then run:

./manage.py runserver_plus --cert cert

which should allow you to test locally via https://127.0.0.1:8000. Some browsers may require enabling this on localhost and not support by default and ask for permission.