from json import loads, dumps from oauthlib.common import to_unicode def weibo_compliance_fix(session): def _missing_token_type(r): token = loads(r.text) token["token_type"] = "Bearer" r._content = to_unicode(dumps(token)).encode("UTF-8") return r session._client.default_token_placement = "query" session.register_compliance_hook("access_token_response", _missing_token_type) return session