腾讯社区开放平台是基于QQ空间、朋友社区(QQ校友)两大社交网络的开放平台。至今官方提供了一系列的开放接口(Open API)和开发工具包(SDK),开发者可以通过Open API获取登录用户信息、用户签名信息以及好友关系链信息等。已上线的应用还可以调用支付和监控接口,实现支付功能,查看应用实时运维数据。
腾讯官方给出了不少的SDK,点这里进入官方地址。遗憾的是没有开放C#的SDK。
我们DotNet开发者不能落后其它平台的开发者,这里开源我的腾讯社区开放平台SDK。
先上单元测试结果吧,这个还是比较重要的。
上面的七个方法对应腾讯官方文档的7个接口。
类库使用说明:
1、配置:你申请应用后,腾讯会给你AppId,AppKey,AppName这三个值,你需要把这三个值配置到App.config或者web.config中。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="qq.api" type="System.Configuration.NameValueSectionHandler"/>
</configSections>
<qq.api>
<add key="AppId" value="APP ID"/>
<add key="AppKey" value="APP KEY"/>
<add key="AppName" value="APP NAME"/>
</qq.api>
</configuration>
2、在你的项目中引用QQToolkit,然后使用如下方式调用
User user = null;
try
{
user = QQClient.Instance.GetUserInfo("openId", "openKey");
}
catch (WebException ex)
{
throw ex;
}
QQClient.Instance是一个单例,你在调用接口的时候,需要传入腾讯给的openId和openKey才能正常的获取数据。QQ校友插件是通过iframe调用你的网站,而openId和openKey会通过url传参给你。可以通过Request.QueryString["openId"]和Request.QueryString["openKey"]得到。
openKey疑是时间戳,每次的值都不一样。你可以把腾讯给你的openId和openKey自己缓存起来方便使用,我测试过openKey的过期时间,7个小时内都能正常调用接口,但很奇怪的是每次测试都在7个小时左右的时间会停止。
组件内部的实现细节我就不再陈述,这里附上类图,具体的实现大家可以看源码。有问题可以给我留言…
噢,差点忘了贴上下载地址了:http://code.google.com/p/moozi/downloads/detail?name=QQToolkit.rar



很好,下载看一下
谢谢
支持!!!我也正缺这个..不过,腾讯那边说还有些问题需要调整..先下下看看,若有修改,希望也更新下啊~~
嗯,会的,感谢支持…请多多关注…
支持,能联系你吗?如何联系你?我的QQ是545550965
谢谢,谢谢,能加QQ吗?我的是545550965
很好,谢谢!!!能加你的QQ吗?我的是545550965
谢谢你的支持,我很少上QQ,公司在上班时间不允许开IM软件。有问题可以发mail给我,jianphu(@)163.com
用这个SDK能开发Windows桌面应用程序么?QQ号码登录怎么处理的?
不能的。
在腾讯上为什么申请 key 和secret 时还得 需要 域名
认证呢? 不支持winform程序? facebook ,twitter 都支持winform的啊。。
感谢提供这个API,不过有一个问题想问一下,腾讯的服务器是linux的,那么用.NET写的应用怎么部署到腾讯的服务器上面呢?难道要用mono不成?
确实是这样的,我现在正在处理把windows平台开发的.NET程序迁移到opensuse中。
为什么我用vs2008打不开呢?
VS2010的项目。
下载地址失效了,能否发我一份至邮箱?谢谢!
pass_age_@163.com
已经发了,请查收
T_T,用了你的源码,出现了奇怪的问题。
如果按你所说的这样调用(感觉这样调用不太对)
User user = null; try{ user = QQClient.Instance.GetUserInfo(“openId”, “openKey”); } catch (WebException ex) { throw ex; }
提示错误:在写入所有字节之前不能关闭流。
if (swRequestWriter != null) swRequestWriter.Close();
在这里出现错误了。
然后我自己用新浪的OAuth登录的代码,获取到第三步的验证(QQ帐号登录后跳转到callback页面的参数)
oauth_token=
&openid=
&oauth_signature=
&oauth_vericode=
×tamp=
尝试使用得到的openid来用你的源码登陆。(openkey我是用参数oauth_signature的值,不知道对不对)。也是提示上面的:在写入所有字节之前不能关闭流。的错误。
然后直接打开接口页面,提示{“ret”:-183,”msg”:”client request’s app name is not existed”}错误。
地址的参数是这样的:
http://openapi.pengyou.qq.com/user/info?openid=D9023B1FA73D670FAEDBC22741065DC8&openkey=rXvkx1MxURKWE6XtUzS8lC7PzAE%3D&appid=2&appkey=4dd1af55f7f140ac8827518472af3d87&appname=bloglist
我得到的参数是这样的
oauth_token=11795272807392087043
&openid=D9023B1FA73D670FAEDBC22741065DC8
&oauth_signature=rXvkx1MxURKWE6XtUzS8lC7PzAE%3D
&oauth_vericode=1257111174
×tamp=1302745980
请问是哪里出错了。麻烦帮忙解决一下。谢谢。
不是的噢,这里跟新浪微博没有半毛钱关系…你的参数是不是有错?
- -后来才发现,我是在弄QQ登录的。跟你的源码不一样。郁闷死了。
不知道你有没有弄过那个QQ登录。也就是QQ空间登录的。
http://connect.opensns.qq.com/
没有噢,我们还没有做这个。
哭死。。。能帮我看一下是什么问题吗。
http://support.qq.com/cgi-bin/content_new?fid=532&tid=13030968205337813&start=0&num=20&order=0&pn=1&gb=3
openkey到底是哪个啊,好晕啊。我上面是用oauth_signature=rXvkx1MxURKWE6XtUzS8lC7PzAE%3D
来作openkey的。
腾讯的文档里面也没有讲到openkey到底是哪个。郁闷死了。
OpenKey是腾讯的iframe调用你的网页时,iframe的url传给你的。
下载不了 能发一份给我吗?Email:kerro0506@163.com
已经发了,请查收邮箱
我这边页下载不了。有能下的可以分享一下吗?f_fynx@hotmail.com 谢谢
已经发给你了
下载不了 能发一份给我吗?Email:317116564@qq.com
已经发给你了^_^
我这边网页也下载不了呀,能分享一下吗?649591720@qq.com,谢谢了
发给你了^_^如果发现BUG请反馈给我,谢谢
麻烦传一个腾讯社区开放平台C# SDK给我,谢谢
不知道为什么,我这边也下载不了,非常头晕,能否也分享一下吗?707277476@qq.com,在此谢谢啦!
下载不了。能否发一份给我 hw1200@yeah.net
部署前的处理,可不可以简单说一下呀
不知道为什么box.net上面下载不了,给我发一份吧 麻烦了 mengdesen09@qq.com
我这边网页也下载不了呀,能分享一下吗?120733889@qq.com,谢谢了
下载不了,能不能麻烦发一份到我的邮箱 mclkyo@163.com 呢?谢谢
能否换个下载链接啊,我也下载不了
renchuxiong@163.com,我也需要一份
我也下载不了啊。。可以给我发一份吗。。wryl@163.com。。多谢
怎么下载不了啊,发给我,可以吗??
下载不了 能发一份给我吗?Email:3716162@qq.com
无法下载。。。。能否分享一下?superwdd@qq.com谢谢了
下载不了哦 可以发给我一份吗?谢谢
154523595@qq.com
Hi,哥们,SDK下载失败,能否发我邮箱。谢谢!
邮箱是enno.china@gmail.com
下载不了,麻烦email份junelee1211@qq.com
你好!我的网页也下载不了,能传份给我吗?谢谢!
邮箱:1501673974@qq.com
报告,下载不了了..分享给我,我放空间让大家下载吧…43264789@qq.com 谢谢啦..
我没看你代码怎么样..不过
User user = null; try{ user = QQClient.Instance.GetUserInfo(“openId”, “openKey”); } catch (WebException ex) { throw ex; }
外层调用你的操作竟然要try,这个有些浪费哦..异常应该在你方法里就处理掉才对..
外层不需要try,获取单个对象,你肯定要做一次null判断的。
下载不了了,修复一下链接地址吧,谢谢!
网页下载不了,楼主能发一份给我么?万分感谢! linxingwanghfut@163.com
我这边网页也下载不了呀,能分享一下吗?232048843@qq.com,谢谢了
给我发一份谢谢 shaohongli@msn.com
你好!我是用vs2008的,我添加引用QQToolkit后,并且在cs页面用QQToolkit.QQClient怎么只能获取到Instance而获取不到QQClient下的方法?请帮我看看。
不好意思!我现在获取到了!
请问老大,这个是不是只能获取好友的openid而不能获取好友的昵称,性别,等其他信息??
那如何获取好友链的昵称头像等这些信息呢?
各位同学您,SDK已经发到你们的邮箱。
你好能发给我一份吗?
补充我的邮箱地址sbitxg521@163.com
有没有一个例子啊?
SDK下载不了,能麻烦博主发送一下到邮箱吗?谢谢啦^_^
kickerqing@hotmail.com
下载不了哦 可以发给我一份吗?谢谢
kingang@126.com
楼主能把以下php代码用c#的实现源代码粘出来吗?或发到我邮箱里,非常感谢
$oauth_signature= base64_encode(hash_hmac(“sha1″, $源串, $密钥, true));
邮箱:huameng@live.com
不知道怎么用啊 求教
给一份谢谢,,,,dzlt135@163.com
麻烦发一个给我,多谢楼主了,fangyuan79@sina.com
原来是box.net的不能下载,现在换成google code的了,不再单独发邮件了,建议不能下载的同学用代理试下哈。
非常需要这个SDK~楼主能发一个给我吗?谢谢~610381435@QQ.com