zoukankan      html  css  js  c++  java
  • 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类:

    var openAuth = new SinaWeiboClient("1402038860", "62e1ddd4f6bc33077c796d5129047ca2", "http://qcyn.sina.com.cn");

    例子中使用的appkey使用了原作者例子中的key。

    接下来我们登录需要进行操作的用户:

    openAuth.DoLogin("username", "password");

    然后我们来使用Weibo提供的获取用户时间轴的API来展示如何使用Get:

    var result = openAuth.HttpGet("statuses/friends_timeline.json", new Dictionary<string, object>
                {
                    {"count", 5},
                    {"page", 1},
                    {"base_app" , 0}
                });

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

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

    接下来,好好享受吧!


    未经授权,拒绝任何全文及摘要转载!

  • 相关阅读:
    06--添加卡片到游戏
    05--创建卡片类
    04--帮助类ScreenAdapter编写
    03--重新规划程序结构
    02--2048实例搭建滑动框架
    iOS下的 Fixed + Input BUG现象
    textarea高度自适应自动展开
    margin负值问题
    audio元素和video元素在ios和andriod中无法自动播放
    js递归
  • 原文地址:https://www.cnblogs.com/NewIdea/p/open-auth-assist-project.html
Copyright © 2011-2022 走看看