August 14, 2010

oAuth & Douban

最近试用douban的API,douban使用oAuth 作为验证协议,oAuth 用途比较广泛,现成的.Net库并不多。 在初次调用的过程中,发现douban的API中存在较为严重的BUG。 传送地址的时候,例如请求的地址没有Encode http://api.douban.com/people/@me douban计算后返回的basestring中是如下结果, @符号在douban的basestring变成了%2540     分析douban在处理@符号的时候,将其变成%40之后又对%40再Encode,变成了%2540!囧。 这样导致怎么签名数据都不会和douban的相符。 最终发现有这个BUG后将本地提交地址中的@Encode成%40搞定。