调试腾讯微博开发平台鉴权和API的一点体会
来源:互联网 发布:淘宝海外代购 编辑:程序博客网 时间:2024/05/19 03:18
由于开发的应用需要发微博(OAuth1.0),近来几日都在调试腾讯微博的这个接口,到此时此刻个人觉得最快的办法就是:
首先看明白官方的说明,
然后下个sdk(本人使用的java)包参考一下他们的example,
最后按照示例的流程,调用sdk中的方法一步步走完,搞定
(本人在sdk中发现个小小的错误,下面会做说明)
本人比较苦逼,之前并不知道有sdk这个好东西可以下载,所以在看了一通说明文档后就开始噼里啪啦的敲了一通代码,感觉还是挺顺利的,但是在调试的时候问题就来了,签名总是无法通过【Invalid signature】,最后历经千辛万苦,总算得以通过但是偶尔还是会出现这个错误,虽然频率不是很高,但是终究是有问题。最后得高人指点发现有sdk这样的神器,无奈之时下载下来后最终完全解决掉了。
以下几处时需要注意的地方:
1,获取未授权的request token时,签名密钥【密钥为:App Secret&Access Token Secret】此时只有App Secret而没有Access Token Secret,所以此时的密钥的组成应该为:【App Secret&】。
2,生成的签名的baseString必须排序
3,发含中文的微博时:中文需要 URLEncoder.encode两次,即URLEncoder.encode(baseString, "UTF-8”)一次,生成baseString时URLEncoder.encode("内容", "UTF-8”) 一次。
4,微博内容中含有空格时,空格被URLEncoder后会变为 20% 此时需要把 20% 变为 + (sdk中是这样处理的)
/** * 对参数进行UTF-8编码,并替换特殊字符 * * @param paramDecString 待编码的参数字符串 * @return 完成编码转换的字符串 */ public static String paramEncode(String paramDecString) { if (!hasValue(paramDecString)) { return ""; } try { return URLEncoder.encode(paramDecString, "UTF-8").replace("+", "%20") .replace("*", "%2A").replace("%7E", "~") .replace("#", "%23"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e.getMessage(), e); } }
以上是sdk中的处理源码
5,通过【获取自己的详细资料 user/info】接口获取微博头像地址时,需要在得到的url后面加上需要的尺寸才能访问,如:http://app.qlogo.cn/mbloghead/d387538f629cfb53c2b0 需要加上 /180 即:http://app.qlogo.cn/mbloghead/d387538f629cfb53c2b0/180 (尺寸有多种:10/.../100/180)
以上就是本人在开发过程中遇到的问题,仅供参考!
在授权的回调处理的时候,带有一个参数 oauth_verifier 而sdk的方法(OAuthV1Client.parseAuthorization())中进行判断的名字是 vcode在运行时由于这个错误会通不过
- 调试腾讯微博开发平台鉴权和API的一点体会
- PHP开发API的一点体会
- 调试的一点体会
- 开发的一点体会
- (一)部标平台开发的一点体会
- Phonegap开发的一点体会
- 软件开发和版本维护的一点感悟和体会
- 业务基础平台的一点体会
- 腾讯微博API调试工具
- 对于智能模块调试的一点体会
- 开发微信公众平台的一点建议和感触.
- 软件开发一点理解和体会
- 腾讯微博平台开发,熟悉API结构,获得头像本地保存
- 个人对软件工程开发的一点体会
- windows驱动开发的一点体会
- 关于敏捷开发的一点体会
- 开发web打印的一点体会
- Android开发listview的一点体会
- apue 习题5.1 用setvbuf实现setbuf
- Windows消息机制VC
- C++ 智能指针
- SAS (Serial Attached SCSI) 技术详解
- 第一年工作总结
- 调试腾讯微博开发平台鉴权和API的一点体会
- 百度权重掉了怎么办
- Maven安装
- va_start va_arg va_end 的原理与实例
- 2786: Ural1142 Relation (递推+高精度)
- facebook继续关注android移动阵营,悄然发布‘Facebook页面信使’的安卓客户端app
- 百度权重是什么?
- C++中extern “C”含义深层探索
- Android2.3 中如何使用GPU硬件加速