Add oAuth token support, generalize to support multiple APIs