Esempio n. 1
0
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()
Esempio n. 2
0
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'])