async def METHOD_NAME(self, code):
    """Complete OAuth by requesting an access token for an oauth code"""
    params = dict(
        client_id=self.settings['client_id'],
        client_secret=self.settings['api_token'],
        grant_type='authorization_code',
        code=code,
        redirect_uri=self.settings['redirect_uri'],
    )
    req = HTTPRequest(
        self.settings['token_url'],
        method='POST',
        body=urlencode(params).encode('utf8'),
        headers={'Content-Type': 'application/x-www-form-urlencoded'},
    )
    response = await AsyncHTTPClient().fetch(req)
    data = json.loads(response.body.decode('utf8', 'replace'))
    return data['access_token']