西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)業(yè)內(nèi)動(dòng)態(tài) 業(yè)內(nèi)資訊 → 騰訊社區(qū)開(kāi)放平臺(tái).NET SDK 加快你的社區(qū)接入到騰訊社區(qū)開(kāi)放平臺(tái)

騰訊社區(qū)開(kāi)放平臺(tái).NET SDK 加快你的社區(qū)接入到騰訊社區(qū)開(kāi)放平臺(tái)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2011/4/24 17:33:46字體大。A-A+

作者:西西點(diǎn)擊:85次評(píng)論:0次標(biāo)簽: 騰訊

  • 類(lèi)型:學(xué)生模板大小:2.8M語(yǔ)言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

“QQ登錄”使用戶(hù)能使用QQ賬號(hào)一鍵登錄接入網(wǎng)站,大大降低了注冊(cè)、登錄的門(mén)檻。借助龐大的QQ用戶(hù)群,給第三方網(wǎng)站帶來(lái)更多新用戶(hù)。已登錄用戶(hù)還可以將在第三方網(wǎng)站發(fā)布、分享的信息即時(shí)同步到QQ空間,使網(wǎng)站內(nèi)容通過(guò)好友關(guān)系得到進(jìn)一步的傳播。

騰訊社區(qū)開(kāi)放平臺(tái).NET SDK是基于騰訊社區(qū)開(kāi)放平臺(tái)的OAuth登錄文檔API文檔 使用C#開(kāi)發(fā)的.NET 4.0的一個(gè)庫(kù),目前完整實(shí)現(xiàn)了騰訊社區(qū)開(kāi)放平臺(tái)的所有接口。可以加快你的社區(qū)接入到騰訊社區(qū)開(kāi)放平臺(tái),免去大量的重復(fù)的調(diào)試開(kāi)發(fā)的時(shí)間,所以我是以New BSD協(xié)議創(chuàng)建的開(kāi)源項(xiàng)目,各位有同樣需求的各位同仁參與建設(shè)著一個(gè)項(xiàng)目,項(xiàng)目的托管地址是http://qqconnect.codeplex.com/

騰訊社區(qū)開(kāi)放平臺(tái).NET SDK使得你調(diào)用騰訊社區(qū)開(kāi)放平臺(tái)的REST接口非常容易,你只需要到http://connect.opensns.qq.com/apply 申請(qǐng)到必須的consumer key和consumer secret,在你的申請(qǐng)通過(guò)了騰訊社區(qū)開(kāi)放平臺(tái)的審核后就可以得到。這個(gè)酷的主要特性如下:

  • 封裝好了騰訊社區(qū)開(kāi)放平臺(tái)的OAuth協(xié)議訪問(wèn)騰訊社區(qū)開(kāi)放平臺(tái)的REST接口
  • 和騰訊社區(qū)開(kāi)放平臺(tái)的接口保持同步(目前只有一個(gè)接口,將來(lái)肯定會(huì)不斷增加)

這個(gè)庫(kù)使用Visual Studio 2010和C# 3.0構(gòu)建的,主要擴(kuò)展和使用到下面的開(kāi)源庫(kù):

  1. DotnetOpenauth:DotNetOpenAuth 是一個(gè) C# 開(kāi)發(fā)包,用以實(shí)現(xiàn) OpenID 2.0 的提供者、中繼方(Relying Party)、OAuth使用者和OAuth服務(wù)提供者;同時(shí)支持 InfoCard Selector 。OAuth協(xié)議客戶(hù)端的實(shí)現(xiàn)上參考了這個(gè)項(xiàng)目的代碼。
  2. Jayrock:Jayrock是一個(gè)LGPL的開(kāi)源的軟件,實(shí)現(xiàn)了JSON和JSON-RPC,支持微軟ASP.NET框架。具體可以參考文章:Jayrock: JSON and JSON-RPC for .NET

上面我們從高層次了解了這個(gè)SDK的實(shí)現(xiàn)原理,下面我們介紹如何使用這個(gè)SDK來(lái)和騰訊社區(qū)開(kāi)放平臺(tái)進(jìn)行交互。SDK主要有兩個(gè)需要關(guān)注的類(lèi)QzoneSDK.Context.QzoneContext

和 QzoneSDK.Qzone。

首先我們結(jié)合【QQ登錄】OAuth登錄文檔來(lái)說(shuō)明。Qzone OAuth總體處理流程里共有七個(gè)步驟,從下面的總體流程圖中可以看到:

clip_image002

左側(cè):為第三方網(wǎng)站需要做的事情。在每個(gè)綠色的方框里,標(biāo)明了第三方應(yīng)該調(diào)用的接口,接口主要功能及邏輯見(jiàn)Qzone OAuth接口說(shuō)明。

右側(cè):為Qzone接收到第三方應(yīng)用發(fā)過(guò)來(lái)的請(qǐng)求后做的事情。第三方請(qǐng)求的發(fā)送地址以及應(yīng)包含的參數(shù)在接下來(lái)的單步詳解中進(jìn)行了說(shuō)明

通過(guò)類(lèi)QzoneSDK.Context.QzoneContext帶上你申請(qǐng)的oauth_consumer_key (對(duì)應(yīng)Qzone的appid)和oauth_consumer_secret (對(duì)應(yīng)Qzone的appkey)到騰訊社區(qū)開(kāi)放平臺(tái)獲取到Request Token,然后把tokenKey和tokensecret保存到Session里,后續(xù)需要使用。示例代碼如下:

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);

用戶(hù)在騰訊社區(qū)開(kāi)放平臺(tái)上授權(quán)使用后會(huì)導(dǎo)向到你的網(wǎng)站,也就是上圖的第三步,在門(mén)上述的callback 的頁(yè)面上就可以獲取上圖第四步的參數(shù),利用上述獲得的參數(shù)調(diào)用QzoneSDK.Qzone進(jìn)行第五步調(diào)用,就可以獲得AccessToken,這個(gè)AccessToken,目前access_token(及其secret)是長(zhǎng)期有效的,和某一個(gè)openid對(duì)應(yīng),目前可以支持線下獲取該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);

}

上述代碼還演示調(diào)用騰訊開(kāi)放社區(qū)目前唯一的一個(gè)API ( get_user_info),通過(guò)Jayrock庫(kù)將Json數(shù)據(jù)轉(zhuǎn)換為庫(kù)中定義的用戶(hù)登錄數(shù)據(jù)的實(shí)體BasicProfile。

 項(xiàng)目的下載地址:http://qqconnect.codeplex.com/releases/view/65042 

項(xiàng)目文檔:騰訊社區(qū)開(kāi)放平臺(tái)教程.pdf

    讀書(shū)筆記
    (95)讀書(shū)筆記
    書(shū)中自有黃金屋,書(shū)中自有顏如玉,我們總能從書(shū)中學(xué)習(xí)到很多意想不到的知識(shí),看見(jiàn)不一樣的風(fēng)景。特別是在我們的學(xué)生時(shí)代,不僅是教科書(shū),更要涉及各種各樣的課外書(shū)籍,不僅要讀,還要學(xué)會(huì)做讀書(shū)筆記。我們讀再多,不做讀書(shū)筆記,沒(méi)有讀后感,也相當(dāng)于白讀,做讀書(shū)筆記的過(guò)程就相當(dāng)于仔細(xì)品讀的過(guò)程,而不是一目十行的略讀。本合集是由西西為大家整理的讀書(shū)筆記合集,歡迎有需要的朋友前來(lái)下載。讀書(shū)筆記怎么寫(xiě)讀書(shū)筆記是人們?cè)谧x書(shū)...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)