def code_to_access_token(self, code): url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code'%(self.appid,self.app_secret,code) return_data = method_get_api(url) if return_data.get('access_token'): url = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN'%(return_data.get('access_token'), return_data.get('openid')) return_data = method_get_api(url) return (return_data.get('openid'), return_data.get('nickname'), return_data.get('sex'),return_data.get('province'),\ return_data.get('city'), return_data.get('country'), return_data.get('headimgurl'))
def getcallbackip(self): '''获取服务器地址''' url = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=%s' %self.get_token() dict_data = method_get_api(url) ip_list = dict_data.get('ip_list') if ip_list: return ip_list
def get_user_openid(self, request): '''微网站获取用户openid''' code = request.GET.get("code", '') url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code' % (self.appid, self.app_secret, code) data = method_get_api(url) openid = data.get("openid") return openid
def get_all_user(self, next_id=None): '''得到所有用户列表''' suffix = '' if next_id: suffix = '&next_openid=' + next_id return method_get_api( 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=' + self.get_token() + suffix)
def get_token(self): token_cache_key = TOKEN_CACHE_PRE+'__'+self.appid #对不同的app指定不同的缓存 token = cache.get(token_cache_key) if token: return token else: url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (self.appid, self.app_secret) dict_data = method_get_api(url) token = dict_data.get('access_token') expires_in = dict_data.get('expires_in') if token and expires_in: cache.set(token_cache_key, token, expires_in-60) return token or ''
def get_jsapi_ticket(self): jsapi_ticket_key = JSAPI_TICKET+'_'+self.token jsapi_ticket = cache.get(jsapi_ticket_key) if jsapi_ticket: return jsapi_ticket else: url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=jsapi' % (self.get_token()) dict_data = method_get_api(url) jsapi_ticket = dict_data.get('ticket') expires_in = dict_data.get('expires_in') if jsapi_ticket and expires_in: cache.set(jsapi_ticket_key, jsapi_ticket, expires_in-60) return jsapi_ticket or ''
def select_menu(self): '''查询menu''' url = 'https://api.weixin.qq.com/cgi-bin/menu/get?access_token=' + self.get_token() return method_get_api(url)
def get_user_info(self, openid): '''得到用户的详细信息''' url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN' % (self.get_token(), openid) return method_get_api(url)
def get_all_user(self, next_id=None): '''得到所有用户列表''' suffix = '' if next_id: suffix = '&next_openid=' + next_id return method_get_api('https://api.weixin.qq.com/cgi-bin/user/get?access_token='+self.get_token()+suffix)
def get_current_selfmenu_info(self): url = 'https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=%s' %self.get_token() return method_get_api(url)
def select_menu(self): '''查询menu''' url = 'https://api.weixin.qq.com/cgi-bin/menu/get?access_token=' + self.get_token( ) return method_get_api(url)
def get_materialcount(self): '''获取素材总数''' url = "https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=%s" % self.get_token() return method_get_api(url)
def getrecord(self,starttime, endtime, openid, pagesize, pageindex): url = 'https://api.weixin.qq.com/cgi-bin/customservice/getrecord?access_token=%s' % (self.token,kf_account) dict_data = method_get_api(url) return dict_data
def kfaccount_del(self, kf_account): url = 'https://api.weixin.qq.com/customservice/kfaccount/del?access_token=%s&kf_account=%s' % (self.token,kf_account) dict_data = method_get_api(url) return self.successed(dict_data)
def get_getonlinekflist(self): url = 'https://api.weixin.qq.com/cgi-bin/customservice/getonlinekflist?access_token=%s' %self.get_token() dict_data = method_get_api(url) return dict_data
def delete_menu(self): '''删除menu''' url = 'https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=' + self.get_token( ) return self.successed(method_get_api(url))
def delete_menu(self): '''删除menu''' url = 'https://api.weixin.qq.com/cgi-bin/menu/delete?access_token='+self.get_token() return self.successed(method_get_api(url))
def get_weixin_all_group(self): '''获取微信全部用户组信息''' return method_get_api(self.get_weixin_all_group_api())
def get_user_info(self, openid): '''得到用户的详细信息''' url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN' % ( self.get_token(), openid) return method_get_api(url)