Open Auth辅助库(使用ImitateLogin实现登录)



网络上越来越多的公司进行着自己的平台化策略,其中绝大多数都已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
2
3
4
5
6
var result = openAuth.HttpGet("statuses/friends_timeline.json", new Dictionary<string, object>
{
{"count", 5},
{"page", 1},
{"base_app" , 0}
});

我们发送一条微博来展示Post方法的调用:

1
2
3
4
var result2 = openAuth.HttpPost("statuses/update.json", new Dictionary<string, object>
{
{"status" , string.Format("post from OpenAuth.Assist! @{0:HH:mm:ss}", DateTime.Now)}
});

接下来,好好享受吧!

本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:https://www.tnidea.com/open-auth-assist-project.html
未经授权,拒绝任何全文及摘要转载!