class MyWechat(object): """ my wechat platform """ def __init__(self, username, password, cookiePath='/tmp/cook_wexin.zoo'): """ init wechat object """ self.__user = username self.__pass = password self.__token = '' self.__cookies = '' self.__cookiePath = cookiePath def __password_login(self): """ login 后生成缓存文件, 以用户和密码的形式登陆 """ self.__wechat = WechatExt(username=self.__user, password=self.__pass, login=False) try: self.__wechat.login() except NeedLoginError: print "your need to retry login." with open(self.__cookiePath, 'w') as f: json.dump(self.__wechat.get_token_cookies(), f) def __token_login(self): """ 载入缓存 cookie 和 token的文件, 以token的形式登陆 """ with open(self.__cookiePath, 'r') as f: cookie = json.load(f) self.__cookies = cookie['cookies'] self.__token = cookie['token'] self.__wechat = WechatExt(username=self.__user, password=self.__pass, token=self.__token, cookies=self.__cookies, login=False) def login(self): """ 执行login() 可以有效应对可能出现的验证码问题。 """ if not os.path.exists(self.__cookiePath): self.__password_login() else: self.__token_login() try: self.__wechat.get_group_list() except NeedLoginError, e: self.__password_login()
# -*- coding: utf-8 import json from wechat_sdk import WechatExt wechat = WechatExt(username='******', password='******') # 获取未分组中所有的用户成员 user_list = wechat.get_user_list() print user_list print '===================================' # 获取分组列表 group_list = wechat.get_group_list() print group_list print '===================================' # 获取图文信息列表 news_list = wechat.get_news_list(page=0, pagesize=15) print news_list print '===================================' # 获取与最新一条消息用户的对话内容 user_info_json = wechat.get_top_message() user_info = json.loads(user_info_json) print wechat.get_dialog_message(fakeid=user_info['msg_item'][0]['fakeid'])