Ejemplo n.º 1
0
class Material(object):
	#upload image and text
	def add_news(self, accessToken, news):
		postUrl = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=%s" % accessToken
		urlResp = urllib2.open(postUrl, news)
		print urlResp.read()

	if __name__ == '__main__':
		myMaterial = Material()
		accessToken = Basic.get_access_token()
		news = (
			{
				"articles":
				[
					{
						'title':'test',
						'thumb_media_id':'',
						'author':'vickey',
						'digest':'',
						'show_cover_pic':1,
						'content':'<p><img data-s=\"300,640\" data-type=\"jpeg\" data-src=\"http://mmbiz.qpic.cn/mmbiz/iaK7BytM0QFPLhxfSMhOHlZd2Q5cw3YibKVf4dgNpLHXdUkvl65NBSMU71rFfOEKF3ucmXuwAQbNdiaaS3441d5rg/0?wx_fmt=jpeg\" data-ratio=\"0.748653500897666\" data-w=\"\"  /><br  /><img data-s=\"300,640\" data-type=\"jpeg\" data-src=\"http://mmbiz.qpic.cn/mmbiz/iaK7BytM0QFPLhxfSMhOHlZd2Q5cw3YibKiaibdNgh0ibgOXAuz9phrGjYFBUKlyTBcrv5WE5zic08FUcz5ODXCHEykQ/0?wx_fmt=jpeg\" data-ratio=\"0.748653500897666\" data-w=\"\"  /><br  /></p>',
						'content_source_url':'',
					}
				]
			}
			)
		news = json.dumps(news, ensure_ascii=False)
		myMaterial.add_news(accessToken, news)			
Ejemplo n.º 2
0
def index(request):

    if request.method == 'GET':
        signature = request.GET['signature']
        timestamp = request.GET['timestamp']
        nonce = request.GET['nonce']
        echostr = request.GET['echostr']
        token = "hiwx"

        list = [token, timestamp, nonce]
        list.sort()
        sha1 = hashlib.sha1()
        map(sha1.update, list)
        hashcode = sha1.hexdigest()
        print "handle/GET func: hashcode, signature: ", hashcode, signature
        if hashcode == signature:
            return HttpResponse(echostr)
        return HttpResponse('get wx')
    elif request.method == 'POST':
        webData = request.read()

        recMsg = receive.parse_xml(webData)
        print webData
        print recMsg
        if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
            print 'isinstance == true'
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName
            print fromUser
            content = "miss you. Waiting for you so long years..."
            replyMsg = reply.TextMsg(toUser, fromUser, content)
            basic = Basic()
            tocken = basic.get_access_token()
            userinfo = requests.get(
                'https://api.weixin.qq.com/cgi-bin/user/info?access_token=' +
                tocken + '&openid=' + toUser + '&lang=zh_CN')
            print userinfo.text

            return HttpResponse(replyMsg.send(), content_type='text/xml')
        else:
            print 'isinstance == false'
            return HttpResponse("success")
Ejemplo n.º 3
0
    def delete(self, accessToken):
        postUrl = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=%s" % accessToken
        urlResp = request.urlopen(url=postUrl)
        print(urlResp.read())

    # 获取自定义菜单配置接口
    def get_current_selfmenu_info(self, accessToken):
        postUrl = "https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=%s" % accessToken
        urlResp = request.urlopen(url=postUrl)
        print(urlResp.read())


if __name__ == '__main__':
    basic = Basic()
    accessToken = basic.get_access_token()
    media = basic.get_media_list()

    discount_url = request.quote(DISCOUNT_ID)
    discount_callable_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_base&state=123&connect_redirect=1#wechat_redirect" % (
        APPID, discount_url)
    personal_url = request.quote(PERSONAL_ID)
    personal_callable_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect" % (
        APPID, personal_url)

    postJson = """
    {
        "button":
        [
            {
                "name": "菜单",
Ejemplo n.º 4
0
            % (self.__accessToken.get_access_token()))
        urlResp = urllib.urlopen(postUrl)
        urlResp = json.loads(urlResp.read())
        self.__ticket = urlResp['ticket']
        self.__leftTime = urlResp['expires_in']

    def get_ticket(self):
        if self.__leftTime < 10:
            self.__real_get_ticket()
        return self.__ticket

    def run(self):
        while (True):
            if self.__leftTime > 10:
                time.sleep(2)
                self.__leftTime -= 2
            else:
                self.__real_get_ticket()


if __name__ == '__main__':
    # 注意 URL 一定要动态获取,不能 hardcode
    b = Basic()
    token = b.get_access_token()
    print("access token")
    print(token)
    api = JsApi(b)
    ticket = api.get_ticket()
    print("jsapi ticket")
    print(ticket)