搞了一下午的微博开放平台,真的有许多坑,不得不说https://www.iteye.com/blog/jianfeihit-1821712给了我莫大的帮助
?
首先微博开放平台建立应用,因为我只调接口所以是微连接-网页应用(个人开发者只能创建微连接)
然后录入表单基本信息(这里有开发者注册的入口,没注册的要去注册信息),其中安全域名要加上(不加http://,坑),后面有用。好多必填项,尤其有好多要上传的图片,像素大小都要求了。
完善应用信息后这个连接会消失,身份认证因为未审核通过,显示未提交审核,如果只为了发微博这里没问题不用等通过。
https://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI然后去文档里找api,用到的有:请求授权(拿code),获取授权(拿token),第三方分享链接到微博(发微博)
先请求授权,浏览器登陆,从url里把code粘出来,作为获取授权的参数,其他细节文档里都有。
?
我调了一下授权查询的接口,返回的结果token有效期是五年,如果真按照他说的,以后很长一段时间就不需要走之前的流程了。
?
我自己遇到的是appkey not bind domain,这个需要应用绑定安全域名,但刚绑定完成后还是提示这个错误,我是在一个小时后才终于成功。
?
因为那个安全域名的坑,我中间试了试sdk,用token发微博不允许,好像是旧连接,属于高级接口,需要我的开发认证审核通过,所以先放弃了。
?
以下是前人总结的坑,很有用
1、获取accesstoken的时候老是出现“miss client id or secret”错误。
原因:该方法说是只能通过post请求传递,但是参数又必须放到url里面,是get/post混搭使用的,实际上post的内容为空,参数都是拼在url中。
2、开发者设定自己的账号后,据说是永久有效的,看到expire-in也是大概5年的时间,尚不知道真实情况。其中出现过好几次token失效的情况,后来都是重新获取的。
3、出现了code失效的问题,不知道是什么情况,重复几次使用code获取token的时候,都会出现code失效,需要重新绑定。
4、调用“statuses/update.json”接口的时候,api文档上描述的是要传输access_token,却没写怎么传,放在param里面不好用,后来放到heads里面,还是不好用,最后确认竟然是value值要写成这样的形式:'OAuth2 '+access_token
5、设置后再调用,还是有错:miss required parameter (status), see doc for more info。这个提示还不如不提示呢,没任何有用信息。后来发现有网友说要设置content-type,设置后终于好用了。设置如下:
"Content-Type":"application/x-www-form-urlencoded"
6、问答系统上回答问题的时候,都喜欢问“通过审核了吗?”,搞的好像没审核通过就不行一样,幸亏我用Java测试了一把,觉得好用,才排除了审核的问题。实际上未审核通过的也可以发微博。
7、问答系统不稳定,经常处于不可访问状态。