freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

騰訊微博客戶端的設計與實現(xiàn)畢業(yè)設計說明書(編輯修改稿)

2024-08-31 05:04 本頁面
 

【文章內(nèi)容簡介】 階段 返回用戶微博的相關信息圖31客戶端運行流程 微博客戶端認證機制 騰訊微博 API OAuth認證介紹騰訊微博開放平臺,是基于騰訊微博系統(tǒng),為廣大開發(fā)者和用戶提供的開放數(shù)據(jù)分享與傳播平臺。 廣大開發(fā)者和用戶登錄平臺后,就可以使用平臺提供的開放API接口,創(chuàng)建應用從微博系統(tǒng)獲取信息,或?qū)⑿碌男畔鞑サ秸麄€微博系統(tǒng)中,豐富多樣的API接口和應用,加上您的智慧,將創(chuàng)造出無窮的應用和樂趣。 騰訊微博API采用OAuth協(xié)議為第三方提供接入服務,遵循[RFC5849]規(guī)范。有關OAuth認證的詳細說明,請閱讀官方OAuth規(guī)范。各種語言的OAuth 客戶端可以在GoogleOAuth項目里找到。 騰訊微博API使用OAuth 。 OAuth認證機制介紹 OAUTH協(xié)議為用戶資源的授權提供了一個安全的、開放而又簡易的標準。與以往的授權方式不同之處是OAUTH的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權,因此OAUTH是安全的。同時,任何第三方都可以使用OAUTH認證服務,任何服務提供商都可以實現(xiàn)自身的OAUTH認證服務,因而OAUTH是開放的。業(yè)界提供了OAUTH的多種實現(xiàn)如PHP、JavaScript,Java,Ruby等各種語言開發(fā)包,大大節(jié)約了程序員的時間,因而OAUTH是簡易的。目前互聯(lián)網(wǎng)很多服務如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH認證服務,這些都足以說明OAUTH標準逐漸成為開放資源授權的標準。OAUTH認證具有以下特點: (1) 簡單:不管是OAUTH服務提供者還是應用開發(fā)者,都很容易于理解與使用?!? (2) 安全:沒有涉及到用戶密鑰等信息,更安全更靈活。 (3) 開放:任何服務提供商都可以實現(xiàn)OAUTH,任何軟件開發(fā)商都可以使用OAUTH。 OAUTH認證機制的運行過程 (1) 使用者(第三方軟件)向OAUTH服務提供商請求未授權的Request Token。向Request Token URL發(fā)起請求,請求需要帶上的參數(shù)見上圖。   (2) OAUTH服務提供商同意使用者的請求,并向其頒發(fā)未經(jīng)用戶授權的oauth_token與對應的oauth_token_secret,并返回給使用者。   (3) 使用者向OAUTH服務提供商請求用戶授權的Request Token。向User Authorization URL發(fā)起請求,請求帶上上步拿到的未授權的token與其密鑰。   (4) OAUTH服務提供商將引導用戶授權。該過程可能會提示用戶,你想將哪些受保護的資源授權給該應用。此步可能會返回授權的Request Token也可能不返回。如Yahoo OAUTH就不會返回任何信息給使用者。   (5) Request Token 授權后,使用者將向Access Token URL發(fā)起請求,將上步授權的Request Token換取成Access Token。請求的參數(shù)見上圖,這個比第一步A多了一個參數(shù)就是Request Token。   (6) OAUTH服務提供商同意使用者的請求,并向其頒發(fā)Access Token與對應的密鑰,并返回給使用者。   (7) 使用者以后就可以使用上步返回的Access Token訪問用戶授權的資源。   從上面的步驟可以看出,用戶始終沒有將其用戶名與密碼等信息提供給使用者(第三方軟件),從而更安全。用OAUTH實現(xiàn)背景一節(jié)中的典型案例:當服務B(打印服務)要訪問用戶的服務A(圖片服務)時,通過OAUTH機制,服務B向服務A請求未經(jīng)用戶授權的Request Token后,服務A將引導用戶在服務A的網(wǎng)站上登錄,并詢問用戶是否將圖片服務授權給服務B。用戶同意后,服務B就可以訪問用戶在服務A上的圖片服務。整個過程服務B沒有有觸及到用戶在服務A的帳號信息。圖32騰訊微博OAUTH授權認證過程 微博客戶端信息抓取流程 騰訊微博的信息抓取是利用騰訊公司提供的API接口,添加上相應的參數(shù),把信息傳遞給騰訊公司服務器,騰訊公司再把所要求的信息傳遞給本地,從而完成微博的信息傳遞過程。騰訊微博服務器含有授權信息及請求信息的相關參數(shù):oParam 請求函數(shù)SyncRequest() 信息返回給客戶端圖33 SyncRequest()函數(shù) CWeiboParam參數(shù)類及微博相關參數(shù)簡介 在每次向騰訊微博服務器請求用戶數(shù)據(jù)時,都要都要將用戶想要進行的操作以參數(shù)的形式傳遞給騰訊微博服務器,然后騰訊服務器將用戶請求返回給客戶端。在騰訊公司提供的API中,參數(shù)類型是CWeiboParam類,通過該類提供的函數(shù)AddParam(const char* pKey, const char* pValue),將參數(shù)名和參數(shù)值傳遞到其類對象中。并且該類還提供Clear()函數(shù),用來清除該類對象里的所有參數(shù),以方便此類對象可以重復利用。 由于騰訊微博API采用的是OAUTH簽權認證方式,所以客戶端在每次請求用戶數(shù)據(jù)時,都要將用戶登錄時留下的Tokenkey,Tokensecret授權信息及開發(fā)者的身份信息Appkey,Appsecret傳遞進去,以獲得獲取用戶信息的權限。 除此之外,客戶端還要將用戶進行相應操作所需要的相關信息添加到該參數(shù)類中。例如,若用戶想要獲取一條微博數(shù)據(jù),就要將該微博的身份標示ID已經(jīng)想要服務器返回的信息格式format傳到CWeiboParam參數(shù)類對象中 CWeiboParamamp。 oParam。 //定義類對象(Appkey, ())。(Appsecret, ())。(Tokenkey,())。(Tokensecret,())。 //傳遞授權信息(format,json)。(id,Wbid)。//傳遞將要獲取的微博相關信息 信息傳遞函數(shù)SyncRequest()簡介 SyncRequest()函數(shù)是騰訊微博API函數(shù)核心,通過這個函數(shù),客戶端將用戶將要進行的操作,以及此操作需要的相關參數(shù)傳遞給騰訊微博服務器,并且把從服務器傳遞回來的相關數(shù)據(jù)存儲到某一參數(shù)中。SyncRequest()函數(shù)的定義如下:SyncRequest(const char* pReqUrl, EHttpMethod eHttpMethod, CWeiboParam oQWBlogParam, char* amp。pResultData,int amp。nLen)。下面就來對此函數(shù)中的參數(shù)進行說明: (1) 其中pReqUrl參數(shù)的傳遞內(nèi)容是一個URL鏈接,該URL鏈接對應的含義就是用戶想要進行的操作,通過這個URL鏈接,客戶端就會告訴騰訊微博服務器用戶想要進行什么樣的操作。例如URL,就是告訴騰訊微博服務器想要獲取該用戶的一條微博。 (2) SyncRequest()函數(shù)中第二個參數(shù)eHttpMethod是一個枚舉類型的參數(shù)其定義如下:enum EHttpMethod{ EHttpMethod_Get, EHttpMethod_Post,}。其中EHttpMethod_Get代表的是獲取信息,是要告訴服務器此次操作是想從服務器中獲取相關的信息,比如說獲取微博,用戶信息等;而EHttpMethod_Post代表的是向服務器推送信息,告訴服務器我這里有信息需要讓服務器更新,比如說用戶發(fā)新微博,對某一微博進行評論等,都需要用此參數(shù)。 (4) oQWBlogParam就是CWeiboParam參數(shù)類對象,用來傳遞與URL相對應的操作所需要的參數(shù)信息。 (5) pResultData和nLen的作用是存儲從服務器返回的信息,以方便將來對信息進行解析。 (6) SyncRequest()的返回值是一個枚舉類型的變量,通過SyncRequest()函數(shù)的返回值,可以知道客戶端的請求是否成功,或者如果失敗了,是是失敗在什么地方。例如:若返回值為HTTPRESULT_OK,表明返回成功,若返HTTPRESULT_ERROR,則表明HTTP請求的數(shù)據(jù)錯誤導致客戶端操作失敗。 以上就是SyncRequest()函數(shù)的所有參數(shù)的含義,通過此函數(shù)并添加上相應的參數(shù),客戶端就能從騰訊服務器中獲取或推送消息,從而完成微博客戶端最核心的內(nèi)容。 對返回值的解析 當客戶端使用SyncRequest()函數(shù)從騰訊服務器請求數(shù)據(jù)后,服務器會返回給客戶端一個字符串,這個字符串會根據(jù)我們請求數(shù)據(jù)時填寫的參數(shù)類型返回不同格式的字符串,主要分為兩種,Json格式和XML格式,通過對這兩種格式的解析,我們就能獲得我們想要的相關數(shù)據(jù)。 Json格式簡介JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA262 3rd Edition December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。JSON建構有兩種結構: (1) “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯(lián)數(shù)組(associative array)。 (2) 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數(shù)組(array)。例如:{ name:中國,province:[{name:黑龍江,cities:{city:[哈爾濱,大慶]}},{name:廣東,cities:{city:[廣州,深圳,珠海]}}, ]}其中name和”中國”就是對應的名稱和鍵值,而province是一個數(shù)組結構,它的里面包含了幾組類型相似的結構,如上例的name:”黑龍江”和name:”廣東”就是兩個相似結構結構里代表相同涵義的對象。 騰訊微博API對Json格式的解析 在騰訊提供的API中使用JsonParser類對返回的字符串進行Json格式的解析,一般情況下分為以下三步: (1) 通過JsonParser類提供的Parse函數(shù),將返回的字符串轉(zhuǎn)換成Json字符串,例如:JsonParser theGwParser。//定義JsonParser (());//完成字符串的轉(zhuǎn)換這樣就把返回值strGwResult轉(zhuǎn)換成了Json字符串格式。 (2) 通過JsonParser類提供的GetChild(const char* pName)函數(shù),獲得第一步中得到的Json字符串的子節(jié)點,如果需要獲得的內(nèi)容是該子節(jié)點中的子節(jié)點,則可以繼續(xù)使用GetChild(const char* pName)函數(shù)以后的自己需要的關鍵字;如果獲得的子節(jié)點中是數(shù)組格式,則可以使用GetChild(const char* pName)函數(shù)的重載函數(shù)GetChild(const int nIndex)獲得相應的數(shù)組序列內(nèi)容,再使用GetChild(const char* pName)函數(shù)獲得數(shù)組內(nèi)容中關鍵字。GetChild()函數(shù)的返回值依舊是JsonParser類型的字符串。例如:若Json字符串里面不含數(shù)組:JsonParser
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1