def _extract_query(self, redirect_url):
        """Extract query parameters from a url.

        Parameters
            redirect_url (str)
                The full URL that the Uber server redirected to after
                the user authorized your app.

        Returns
            (dict)
                A dictionary of query parameters.
        """
        qs = urlparse(redirect_url)

        # Implicit Grant redirect_urls have data after fragment identifier (#)
        # All other redirect_urls return data after query identifier (?)
        qs = qs.fragment if isinstance(self, ImplicitGrant) else qs.query

        query_params = parse_qs(qs)
        query_params = {qp: query_params[qp][0] for qp in query_params}

        return query_params
Extract query parameters from a url.

        Parameters
            redirect_url (str)
                The full URL that the Uber server redirected to after
                the user authorized your app.

        Returns
            (dict)
                A dictionary of query parameters.