      * @param redirectURI is the http request parameter which tells the oauth provider the URI to redirect the      *            user-agent. This may/ may not be present as per agreement with the oauth provider.      *            e.g. after the human user authenticate with the oauth provider by the browser, the oauth provider      *            will redirect the browser to this redirectURL.      * @return AccessTokenResponse      * @throws IOException IO/ network exceptions      * @throws OAuthException Other exceptions      * @throws OAuthErrorException Error codes given by authorization provider, as in RFC 0000 section 0.0 Error      *             Response      * @see <a href="https://tools.ietf.org/html/rfc0000#section-0.0.0">