西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页业内动态 业内资讯 → 腾讯社区开放平台.NET SDK 加快你的社区接入到腾讯社区开放平台

腾讯社区开放平台.NET SDK 加快你的社区接入到腾讯社区开放平台

相关软件相关文章发表评论 来源:西西整理时间:2011/4/24 17:33:46字体大小:A-A+

作者:西西点击:85次评论:0次标签: 腾讯

  • 类型:学生模板大小:2.8M语言:中文 评分:10.0
  • 标签:
立即下载

“QQ登录”使用户能使用QQ账号一键登录接入网站,大大降低了注册、登录的门槛。借助庞大的QQ用户群,给第三方网站带来更多新用户。已登录用户还可以将在第三方网站发布、分享的信息即时同步到QQ空间,使网站内容通过好友关系得到进一步的传播。

腾讯社区开放平台.NET SDK是基于腾讯社区开放平台的OAuth登录文档API文档 使用C#开发的.NET 4.0的一个库,目前完整实现了腾讯社区开放平台的所有接口。可以加快你的社区接入到腾讯社区开放平台,免去大量的重复的调试开发的时间,所以我是以New BSD协议创建的开源项目,各位有同样需求的各位同仁参与建设着一个项目,项目的托管地址是http://qqconnect.codeplex.com/

腾讯社区开放平台.NET SDK使得你调用腾讯社区开放平台的REST接口非常容易,你只需要到http://connect.opensns.qq.com/apply 申请到必须的consumer key和consumer secret,在你的申请通过了腾讯社区开放平台的审核后就可以得到。这个酷的主要特性如下:

  • 封装好了腾讯社区开放平台的OAuth协议访问腾讯社区开放平台的REST接口
  • 和腾讯社区开放平台的接口保持同步(目前只有一个接口,将来肯定会不断增加)

这个库使用Visual Studio 2010和C# 3.0构建的,主要扩展和使用到下面的开源库:

  1. DotnetOpenauth:DotNetOpenAuth 是一个 C# 开发包,用以实现 OpenID 2.0 的提供者、中继方(Relying Party)、OAuth使用者和OAuth服务提供者;同时支持 InfoCard Selector 。OAuth协议客户端的实现上参考了这个项目的代码。
  2. Jayrock:Jayrock是一个LGPL的开源的软件,实现了JSON和JSON-RPC,支持微软ASP.NET框架。具体可以参考文章:Jayrock: JSON and JSON-RPC for .NET

上面我们从高层次了解了这个SDK的实现原理,下面我们介绍如何使用这个SDK来和腾讯社区开放平台进行交互。SDK主要有两个需要关注的类QzoneSDK.Context.QzoneContext

和 QzoneSDK.Qzone。

首先我们结合【QQ登录】OAuth登录文档来说明。Qzone OAuth总体处理流程里共有七个步骤,从下面的总体流程图中可以看到:

clip_image002

左侧:为第三方网站需要做的事情。在每个绿色的方框里,标明了第三方应该调用的接口,接口主要功能及逻辑见Qzone OAuth接口说明。

右侧:为Qzone接收到第三方应用发过来的请求后做的事情。第三方请求的发送地址以及应包含的参数在接下来的单步详解中进行了说明

通过类QzoneSDK.Context.QzoneContext带上你申请的oauth_consumer_key (对应Qzone的appid)和oauth_consumer_secret (对应Qzone的appkey)到腾讯社区开放平台获取到Request Token,然后把tokenKey和tokensecret保存到Session里,后续需要使用。示例代码如下:

string key = ConfigurationManager.AppSettings["ConsumerKey"];

string secret = ConfigurationManager.AppSettings["ConsumerSecret"];

var context = new QzoneSDK.Context.QzoneContext(key, secret);

var callbackUrl = "http://localhost/account/QQCallback";

var requestToken = context.GetRequestToken(callbackUrl);

Session["requesttokenkey"] = requestToken.TokenKey;

Session["requesttokensecret"] = requestToken.TokenSecret;

var authenticationUrl = context.GetAuthorizationUrl(requestToken, callbackUrl);

return Redirect(authenticationUrl);

用户在腾讯社区开放平台上授权使用后会导向到你的网站,也就是上图的第三步,在门上述的callback 的页面上就可以获取上图第四步的参数,利用上述获得的参数调用QzoneSDK.Qzone进行第五步调用,就可以获得AccessToken,这个AccessToken,目前access_token(及其secret)是长期有效的,和某一个openid对应,目前可以支持线下获取该openid的信息。

if (Request.QueryString["oauth_vericode"] != null)

{

var requestTokenKey = Session["requesttokenkey"].ToString();

var requestTokenSecret = Session["requesttokensecret"].ToString();

var verifier = Request.QueryString["oauth_vericode"];

string key = ConfigurationManager.AppSettings["ConsumerKey"];

string secret = ConfigurationManager.AppSettings["ConsumerSecret"];

QzoneSDK.Qzone qzone = new QzoneSDK.Qzone(key, secret, requestTokenKey, requestTokenSecret, verifier);

var access = qzone.OAuthTokenKey;

var currentUser = qzone.GetCurrentUser();

var user = (BasicProfile)JsonConvert.Import(typeof(BasicProfile),currentUser);

}

上述代码还演示调用腾讯开放社区目前唯一的一个API ( get_user_info),通过Jayrock库将Json数据转换为库中定义的用户登录数据的实体BasicProfile。

 项目的下载地址:http://qqconnect.codeplex.com/releases/view/65042 

项目文档:腾讯社区开放平台教程.pdf

    读书笔记
    (95)读书笔记
    书中自有黄金屋,书中自有颜如玉,我们总能从书中学习到很多意想不到的知识,看见不一样的风景。特别是在我们的学生时代,不仅是教科书,更要涉及各种各样的课外书籍,不仅要读,还要学会做读书笔记。我们读再多,不做读书笔记,没有读后感,也相当于白读,做读书笔记的过程就相当于仔细品读的过程,而不是一目十行的略读。本合集是由西西为大家整理的读书笔记合集,欢迎有需要的朋友前来下载。读书笔记怎么写读书笔记是人们在读书...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)