API Connector Documentation
Import Basecamp Data to Google Sheets
In this guide, we’ll walk through how to import Basecamp data directly into Google Sheets, using the API Connector add-on for Sheets. Basecamp's most recent API version (version 4) only allows authorization through OAuth, so we'll set up a custom OAuth connection and connect to their API with that.
Contents
- Before You Begin
- Part 1: Get Your Basecamp OAuth Credentials
- Part 2: Connect the Basecamp API to API Connector
- Part 3: Get Basecamp Data in Sheets
- Part 4: API Documentation
Before You Begin
Click here to install the API Connector add-on from the Google Marketplace.
Part 1: Get your Basecamp OAuth Credentials
- Log in to Basecamp and navigate to https://launchpad.37signals.com/integrations. In the Your Applications section, click on Register one now.
- You'll be prompted to enter some information about your new application. You can name your app anything, but make sure to use the redirect URL provided in this article on configuring custom OAuth. Click Register this app.
- Back on the applications listing screen, click on your new app see your credentials.
- You should see your client ID and client secret. Copy these down, we'll need them shortly.
Part 2: Connect Basecamp to API Connector
- Open up Google Sheets and click Extensions > API Connector > Manage Connections
- Scroll to the bottom of the sidebar and click Add Custom OAuth
- Fill in the Custom OAuth modal as follows:
- OAuth Grant Type:
Authorization Code
- Name:
Custom Basecamp
- Authorization Base URL:
https://launchpad.37signals.com/authorization/new?type=web_server
- Token URL:
https://launchpad.37signals.com/authorization/token?type=web_server
- Client ID: provided by Basecamp
- Client Secret: provided by Basecamp
- OAuth Grant Type:
- Click Save
- Click Manage Connections to return to the list of connections
- Scroll down until you find your new custom connection. Click Connect
- You'll be prompted to give access to the new app you created above. Click Yes, I'll allow access
- You'll be returned to your sheet and can verify that the new connection is now active.
Part 3: Get Basecamp Data in Sheets
To create a request, include your full request URL in the request URL field, and select your custom Basecamp from the dropdown OAuth menu.
You can see the full list of available endpoint and parameters in the API documentation. For example, to get a list of current projects, configure it as follows. Substitute in your own account ID where it says your_account_id
(you can get see your account ID in the URL bar when you're logged into Basecamp).
- Open up Google Sheets and click Extensions > API Connector > Open > Create request.
- In the request form enter the following:
- Application:
Custom
- Method:
GET
- Request URL:
https://3.basecampapi.com/your_account_id/projects.json
- OAuth:
Custom Basecamp
- Application:
- Create a new tab and click Set current to use that tab as your data destination.
- Name your request and click Run. A moment later you’ll see Basecamp data populate your sheet.
Part 4: API Documentation
Official API documentation: https://github.com/basecamp/bc3-api
I'm trying to integrate with Sheets based on this: https://mixedanalytics.com/knowledge-base/import-basecamp-data-to-google-sheets/
I get this error when connecting:
:error: Provided redirect_uri is not approved
I have the app registered in basecamp4 with the same redirect URI as shown. I added my ID and secret.
That error usually means there's a mismatch between the redirect URL entered when you created your app and the redirect URL used by API Connector. Can you double check that the values were entered exactly as written? Make sure no text was cut off, and that you haven't included any extra spaces or slashes. Feel free to message support with a screenshot of your setup if you'd like me to take a look.