def _http_call(url, authorization, **kw): ''' send an http request and expect to return a json object if no error. ''' json = import_simplejson() body = build_parameters(**kw) print body req = urllib2.Request(url, data=body) req.add_header('Authorization', 'OAuth2 %s' % authorization) resp = urllib2.urlopen(req) body = resp.read() r = json.loads(body, object_hook=_obj_hook) if hasattr(r, 'error_code'): raise WeiboError(getattr(r, 'error', '')) return r
def get_authorize_url(self, redirect_uri=None, display='default'): ''' 获取授权链接 ''' redirect_uri = redirect_uri or self.redirect_uri if not redirect_uri: WeibopError('You should give me a redirect uri :P') return '%s%s?%s' % ( 'https://%s/oauth2/' % (self.domain, ), 'authorize', build_parameters( client_id=self.client_id, response_type='code', display=display, redirect_uri=redirect_uri, ), )