简单的微信公众平台 PHP SDK ,通过调用相应的接口,使你可以轻松地开发微信 App 。
测试方法如下:
1). Clone 或下载项目源码,上传至服务器。
2).进入微信公众平台,高级功能,开启开发模式,并设置接口配置信息。
修改 URL 为example目录下server.php 的实际位置,
修改 Token 为 weixin (可自行在 example目录下server.php 中更改)。
3).发送消息测试。
下载应用源码到本地
1).复制应用SVN地址
创建完成后,进入应用页面,选择“代码管理”,把页面最下面的该应用的SVN仓库地址复制出来。
2).下载代码
用TortoiseSVN软件中的“Check out…”把代码全部下载到本地。使用SVN的时候,需要输入用户名和密码就是SAE注册时候的安全邮箱和安全密码。
设置公众平台接口配置信息
1).查看token
打开example目录下的server.php文件,翻到文件最下面的这个,就是Token了。
2).在公众平台上填写配置信息
点击“开发者中心”->“修改配置”,
填写URL为你的源码中server.php文件的路径,Token,这个是用来验证的,当然,你可以修改一个自己的,英文或数字,3-32字符。
EncodingAESKey,点击随机生成就行。好了点击“提交”。
完成后,点击“启用”。开启服务器,就可以了。
测试向微信公众号发送消息
关注后发送信息测试下。可以查看代码,对应的返回消息设置都在代码里。
这样,我们就可以通过修改应用中的相关代码,来开发这个公众号的一些其它功能。
首先先获取access_token,并保存与全局之中def token(requset):
url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (
Config.AppID, Config.AppSecret)
result = urllib2.urlopen(url).read()
Config.access_token = json.loads(result).get('access_token')
print 'access_token===%s' % Config.access_token
return HttpResponse(result)
利用上面获得的access_token,创建自定义表单
def createMenu(request):
url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s" % Config.access_token
data = {
"button":[
{
"name":"看美图",
"sub_button":[
{
"type":"click",
"name":"美图",
"key":"meitu"
},
{
"type":"view",
"name":"精选",
"url":"http://m.jb51.net/photos"
},
{
"type":"view",
"name":"回顾",
"url":"http://m.qzone.com/infocenter?g_f=#2378686916/mine"
},
{
"type":"view",
"name":"美图app",
"url":"http://jb51.net/app/app.html"
}]
},
{
"name":"看案例",
"sub_button":[
{
"type":"click",
"name":"全部风格",
"key":"style"
},
{
"type":"click",
"name":"全部户型",
"key":"houseType"
},
{
"type":"click",
"name":"全部面积",
"key":"area"
},
{
"type":"view",
"name":"更多案例",
"url":"http://m.jb51.net/projects"
}]
},
{
"type":"view",
"name":"设计申请",
"url":"http://jb51.net/zhuanti/freedesign.jsp?src=3"
}
]
}
#data = json.loads(data)
#data = urllib.urlencode(data)
req = urllib2.Request(url)
req.add_header('Content-Type', 'application/json')
req.add_header('encoding', 'utf-8')
response = urllib2.urlopen(req, json.dumps(data,ensure_ascii=False))
result = response.read()
return HttpResponse(result)
首先,你先把你要安装的包给下回来先,然后在sae python的根目录下 创建一个名为:virtualenv.bundle.zip 的压缩包 把你要安装的包都放到这个压缩包里。。。然后修改index.wsgi 在import后面 添加代码如下复制代码
import sys
app_root = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(app_root, ‘virtualenv.bundle.zip‘))
注意sys.path.insert 的位置是在import后 不要放在urls响应后面,否则会提示没这个包。。。
在使用时,可以参考我的一个demo
代码如下复制代码
import os
import web
import urllib2
from bs4 import BeautifulSoup # For processing HTML
app_root = os.path.dirname(__file__)
templates_root = os.path.join(app_root, ‘templates’)
render = web.template.render(templates_root)
class index:
def GET(self):
soup = BeautifulSoup(urllib2.urlopen(‘http://www.sina.com.cn/’).read())
return render.bs_test(soup)