本文将带你了解微信开发Python微信-- 分享接口(分享到朋友圈、朋友、空间),希望本文对大家学微信有所帮助。
生成JS-SDK权限验证的签名
获取signature(签名)首先要获得
1、#获得jsapi_ticket
2、#获取当前页面的url
#获取当前页面的url url=""{}://{}{}"".format(self.request.protocol,self.request.host,self.request.uri)
3、#获取timestamp(时间戳)
#获取timestamp(时间戳)
timestamp = int(time.time())
4、#获取noncestr(随机字符串)
#获取noncestr(随机字符串)
nonceStr = self.createNonceStr()(见下函数)
5、# 这里参数的顺序要按照 key 值 ASCII 码升序排序
string = ""jsapi_ticket={}&noncestr={}×tamp={}&url={}"".format(jsapiTicket,nonceStr,timestamp,url)
6、#得到signature(用sha1加密)
signature = hashlib.sha1(string).hexdigest();
1、获得jsapi_ticket要先获取access_token(不再细说)
然后
def getJsApiTicket(self):
#获得jsapi_ticket
#获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了
import urllib2
# jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例
#cookie('ticket',null);
#获取access_token
accessToken = self.accesstokens()
# 如果是企业号用以下 URL 获取 ticket
# $url = ""https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken"";
#获取jsapi_ticket
url = ""https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={}&type=jsapi"".format(accessToken)
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read()
res=json_decode(res)
return str(res['ticket'])
4、#获取noncestr(随机字符串)
def createNonceStr(self,length = 16): #获取noncestr(随机字符串) import random chars = ""abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"" str = """"; for i in range(0,16): str += chars[rand