网络上越来越多的公司进行着自己的平台化策略,其中绝大多数都已Web API的方式对外提供服务,为了方便的使用这些服务,你不得不引用许多相关的类库,但是API的本质其实仅仅是一些约定的网络请求,我们大多数情况仅仅使用API提供的少数几个功能,因此,我稍微修改了下微博的c#的类库,加入了ImitateLogin库来模拟登录,形成了open-auth-assist库。
open-auth-assist的目的是将现有的API的类库使用一种通用的方式来代替,同时又不增加太多的额外工作。另外这个项目也可以算作我的另一个开源项目ImitateLogin的一个Demo。
这个类库的绝大多数代码都源于 weiboSDK 这个项目,由于作者不准备再更新,而且没有继续提供模拟登录的功能,所以我拿过来修改了下开源出来(已获得原作者同意),目前仅完成了微博部分的实现,由于这个项目依赖于ImitateLogin,因此只有ImitateLogin完成的网站才会增加支持;ImitateLogin本身并没有太多的技术难度,仅仅需要熟悉网络请求和一些耐心来解决各种客户端加密,所以如果大家有时间,也希望能一起为这个项目贡献一些代码,谢谢!
下面将简单介绍下如何使用open-auth-assist来实现微博API的调用。
首先,我们需要实例化一个OpenAuthAssist类:
1 | var openAuth = new SinaWeiboClient("1402038860", "62e1ddd4f6bc33077c796d5129047ca2", "http://qcyn.sina.com.cn"); |
例子中使用的appkey使用了原作者例子中的key。
接下来我们登录需要进行操作的用户:
1 | openAuth.DoLogin("username", "password"); |
然后我们来使用Weibo提供的获取用户时间轴的API来展示如何使用Get:
1 | var result = openAuth.HttpGet("statuses/friends_timeline.json", new Dictionary<string, object> |
我们发送一条微博来展示Post方法的调用:
1 | var result2 = openAuth.HttpPost("statuses/update.json", new Dictionary<string, object> |
接下来,好好享受吧!
本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:https://www.tnidea.com/open-auth-assist-project.html
未经授权,拒绝任何全文及摘要转载!