def post(self, url, body, headers=None): uri = urlparse.urljoin(self.api_host, url) if headers is not None: headers.update({"Authorization": "Bearer %s" % self.access_token}) else: headers = {"Authorization": "Bearer %s" % self.access_token} resp, content = httplib2_request(uri, "POST", body=body, headers=headers) return self.check_result(uri, resp, content)
def post(self, url, body, headers=None): uri = urlparse.urljoin(self.api_host, self.api_version) uri = urlparse.urljoin(uri, url) log.info("posting %s" %url) resp, content = httplib2_request(uri, "POST", body=body, headers=headers) content_json = self.check_result(uri, resp, content) log.info("post to sina return:%s" % content_json) return content_json
def get(self, url, extra_dict=None): uri = urlparse.urljoin(self.api_host, url) if extra_dict is None: extra_dict = {} extra_dict["alt"] = "json" if extra_dict: qs = urllib.urlencode(extra_dict) if "?" in uri: uri = "%s&%s" % (uri, qs) else: uri = "%s?%s" % (uri, qs) headers = {"Authorization": "Bearer %s" % self.access_token} log.info('getting %s...' % uri) resp, content = httplib2_request(uri, "GET", headers=headers) return self.check_result(uri, resp, content)
def get_access_token(self, authorization_code): qs = { "client_id": self.apikey, "client_secret": self.apikey_secret, "redirect_uri": self.redirect_uri, "grant_type": "authorization_code", "code": authorization_code, } qs = urllib.urlencode(qs) resp, content = httplib2_request(self.access_token_uri, "POST", body=qs) excp = OAuthLoginError(msg='get_access_token, status=%s,reason=%s,content=%s' \ %(resp.status, resp.reason, content)) if resp.status != 200: raise excp jdata = json_decode(content) if content else None return jdata
def refresh_tokens(self): qs = { "grant_type": "refresh_token", "refresh_token": self.refresh_token, "client_id": self.apikey, "client_secret": self.apikey_secret, "redirect_uri": self.redirect_uri, } resp, content = httplib2_request(self.access_token_uri, "POST", body=urllib.urlencode(qs)) excp = OAuthLoginError(self.user_alias.user_id, self.provider, 'refresh_tokens, status=%s,reason=%s,content=%s' \ %(resp.status, resp.reason, content)) if resp.status != 200: raise excp jdata = json_decode(content) if content else None return jdata
def get(self, url, extra_dict=None): uri = urlparse.urljoin(self.api_host, self.api_version) uri = urlparse.urljoin(uri, url) if extra_dict is None: extra_dict = {} if not "access_token" in extra_dict: extra_dict["access_token"] = self.access_token if not "source" in extra_dict: extra_dict["source"] = self.apikey if extra_dict: qs = urllib.urlencode(extra_dict) if "?" in uri: uri = "%s&%s" % (uri, qs) else: uri = "%s?%s" % (uri, qs) log.info('getting %s...' % uri) resp, content = httplib2_request(uri, "GET") content_json = self.check_result(uri, resp, content) return content_json