def main(): print "aaaa" cookies = cookielib.CookieJar() accessToken=UrlHelper.getTestAccessToken("*****@*****.**", "diandian"); opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies), MultipartPostHandler) params = { "type" : "photo", "caption" : "apitest","title":"apitesttitle", "data" : open("/Users/zhangdong/Desktop/temp/data.jpg", "rb"),"tag":"1,diandian,apitest,点点测试" } response=opener.open("http://apitest.diandian.com/v1/blog/apitest.diandian.com/post?access_token="+accessToken, params) print response.read();
def defaultAction(self): self.response().clearHeaders() self.response()._headers["Content-Type"] = "application/json" num_queries = UrlHelper.getQueryNum(self.request().field("queries")) rp = partial(randint, 1, 10000) get = Database.DbSession.query(World).get worlds = [get(rp()).serialize() for _ in xrange(num_queries)] output = json.dumps(worlds) self.response()._headers["Content-Length"] = len(output) self.write(output)
def setAccessToken(self): if self.clientId==None or self.clientSecret==None: raise APIError(NO_CLIENT,"no client or clientSercet","oauth"); if self.userName==None or self.userPassword==None: #暂时只支持 grant_type=password raise APIError(NO_USER,"userName or userPassword can not be none","oauth"); if self.access_token!=None: #如果已有access_token已有了,就reflesh吧。 url= "https://%s/oauth/token?client_id=%s&client_secret=%s&grant_type=refresh_token&refresh_token=%s&scope=read,write" %(self.host,self.clientId,self.clientSecret,self.refresh_token); else: url="https://%s/oauth/token?client_id=%s&client_secret=%s&grant_type=password&username=%s&password=%s&scope=read,write" %(self.host,self.clientId,self.clientSecret,self.userName,self.userPassword); data=UrlHelper.getGetUrlData(url); self.access_token=data["access_token"]; self.refresh_token=data["refresh_token"]; self.updateTime=int(time.time());
def postInfo(self,url,params,upload=False): accessToken=self.getAccessToken(); if(not upload): request=urllib2.Request(url); request.add_header('Authorization', 'bearer %s' % accessToken); request.add_data(urllib.urlencode(params)); return UrlHelper.getPostByRequestData(request); else: print "uploadData"; cookies = cookielib.CookieJar() multipartPostPostHandler=MultipartPostHandler(accessToken); opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies), multipartPostPostHandler) return opener.open(url,params).read();
def defaultAction(self): self.response().clearHeaders() self.response()._headers["Content-Type"] = "application/json" num_queries = UrlHelper.getQueryNum(self.request().field("queries")) worlds = [] rp = partial(randint, 1, 10000) ids = [rp() for _ in xrange(num_queries)] ids.sort() for id in ids: world = Database.DbSession.query(World).get(id) world.randomNumber = rp() worlds.append(world.serialize()) Database.DbSession.commit() output = json.dumps(worlds) self.response()._headers["Content-Length"] = len(output) self.write(output)
def getInfo(self,url): accessToken=self.getAccessToken(); request=urllib2.Request(url); request.add_header('Authorization', 'bearer %s' % accessToken) return UrlHelper.getGetRequestData(request);