def METHOD_NAME(self, request, *args, **kwargs):
    self.check_permissions(request, "authorize", None)
    code = request.DATA.get('code', None)
    if code is None:
        raise exc.BadRequest(_("Code param needed"))
    try:
        asana_token = AsanaImporter.get_access_token(
            code,
            settings.IMPORTERS.get('asana', {}).get('app_id', None),
            settings.IMPORTERS.get('asana', {}).get('app_secret', None),
            settings.IMPORTERS.get('asana', {}).get('callback_url', None)
        )
    except exceptions.InvalidRequest:
        raise exc.BadRequest(_('Invalid Asana API request'))
    except exceptions.FailedRequest:
        raise exc.BadRequest(_('Failed to make the request to Asana API'))
    return response.Ok({"token": asana_token})