微信公众平台API的那些坑

微信公众平台API开发

这几天在开发一个微信公众平台的插件,虽然没有什么技术含量但是就是坑多,把遇到的坑记录一下:

零 写个demo在哪儿测试呢?

开始只能在WEB界面的在线调试工具(http://mp.weixin.qq.com/debug)中,人工填写参数来测试,没法真正的联调,而且用的接口许多不提供。后来在朋友的指点下找到了微信公众平台接口测试帐号(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login)这里可以申请到有效期一年的测试临时帐号,可以使用所有的接口。

一 只是想给用户发文章而已,本来以为分分钟搞定的事,其实涉及4个接口:

1 拿app ID和secret获取一个access token,这比较好理解
2 上传缩略图获得一个media_id
3 拿缩略图的media_id和题目、正文、摘要等信息组装出一篇文章来上传,又获得一个文章的media_id
4 把文章正式发出去

二 上传图片接口和组装图文信息接口返回的都叫media_id,但其实不是一个东西,这个坑我也好半天才爬出来

三 一般POST方式传数据都是key,value这样的键值对,而微信接口规定把参数组装成数组,然后json_encode之后,整个作为字符串塞到header中。这个问题卡了我一天多,我在网上看到很多人在问这个问题,但也没有人能给出解释。当最后发现竟然真的是json_encode成一坨再上传时,我惊了。

还有一个不是微信API的坑,是PHP的坑。从PHP5.5开始,curl不再支持通过在文件名前加@方式上传文件,我捣鼓了半天才发现这个问题,使用最新的curl_file_create替换后,问题解决。

 评论
  xxx

  g
 发表评论
姓   名: