Integrating third party APIs can present some interesting problems. This is especially true when you couple it with some of our power users.
The Google Analytics (GA) API uses tokens for authorization, and they limit accounts to 20 tokens. Every time you authorize GA to communicate with a third party service via their API, it assigns a token. If you authorize more than 20 times, it will automatically revoke the oldest active token.
On the surface, you might think that you can only access analytics for 20 sites. However, that’s not how their tokens work. You actually can access the analytics for as many sites as you want, as long as you reuse the same token.
We tried to update the UI to make it easier for Raven users to reuse GA tokens. Unfortunately, each UI tweak still didn’t solve the problem of having users reauthorize and set new tokens. We wanted to fix this problem, because it was causing a lot of frustration for our users. Fortunately, one of our smartypants developers, Jason Tan, came up with the solution: Raven can correct the problem behind the scenes.
Now, if a user attempts to reauthorize their GA account — an account that’s already been authorized on Raven, and should be reused — our system will automatically revoke the new token, and reuse the existing token that’s already set up on our system. This all happens in the background, and keeps the user from accidentally creating additional tokens on Raven.