通過OAuth認證和操作新浪微博

2022-04-01 11:18:36 字數 1694 閱讀 7886

初識oauth:

oauth官網是

,上面有介紹該協議,為桌面或者**程式提供乙個簡單的標準的方式去訪問需要授權的api開發協議。

起草於2023年,2023年發布第乙個版本,最新的2.0處於草稿階段,

,可以看到協議的描述。對於.net,也有人寫了oauth的服務端和客戶端的實現**:

,如果需要編寫服務端**也有一定參考價值。

,**網開放平台

oauth認證及操作:

為了更清楚的了解oauth協議客戶端的呼叫過程,我沒有用官方推薦的.net客戶端oauthbase.cs(

,可供參考。

乙個認證過程,需要有3次的互動,用到的url位址分別為:

分別為請求臨時未授權的request token,它將返回比較重要的oauth_token和oauth_token_secret引數;

然後請求對該request token授權;

wiki/index.php/oauth

,這裡有認證流程的描述,細節可以參考。但我在開發過程中遇到一定的問題,比如hmacsha1加密字串為類試:get&http%3a%2f%2fapi.t.sina.com.cn%2foauth%2frequest_token&oauth_consumer_key%3d1331820154%26oauth_nonce%3d7971285%26oauth_signature_method%3dhmac-sha1%26oauth_timestamp%3d1318247463%26oauth_version%3d1.0。這裡的「=」符號不是用.net的urlencode的,而是%3d,我開始用框架自帶的urlencode後為%3d,導致老是提示401未授權的問題。這裡的所有urlencode後的小寫字母都必須大寫,並且request_token&oauth_consumer_key這裡的「&」符號並沒有進行任何編碼處理,否則也會出問題。

wiki/api%e6%96%87%e6%a1%a3

, 下面以獲取粉絲為例:

wiki/statuses/followers

<?xml version="1.0" encoding="utf-8"?>2290721941

輝明時輝明時

451000

廣西m54610tue aug 09 00:00:00 +0800 2011false

false

falsetruetue aug 09 19:38:47 +0800 20113344565122238306

為什麼你下雨還要拉著我出來散步…[淚

]false

false

3344565122238306

。。。的xml字串返回,自己可以通過xml的結構,組裝成相應資料結構,再展現出來。

,這裡需要請求方式為post,具體引數可以參考

wiki/statuses/update

。發布成功後為:

這裡是因為我建立了乙個應用,但應用還沒有正式審核,所以這麼顯示的。

**:

轉 新浪微博OAuth認證流程分析

第一步,通過已知的consumer key和consumer secret獲取request token以及request token secret。1 2 3 4 5 privatefunctiongetrequesttoken 這裡的 request token為這個方法不用提供給外部呼叫,所以...

使用新浪微博API的OAuth認證發布微博例項

繼續前面的文章 新浪微博oauth認證和儲存的主要過程詳解 現在我們就使用它來發布微博。我們已經將使用者新浪微博的oauth token和oauth secret儲存到 session oauth token result oauth token session oauth secret resul...

新浪微博python下api的OAuth登陸

import webbrowser import weibopy from weibopy.auth import oauthhandler from weibopy.api import api self.u user def getauth self if len self.consumer k...