使用python調用sina微博api的方法

來源:互聯網
上載者:User

使用python調用sina微博api的方法

這是本人第一次使用API,所以對很多認證的機制都不熟悉,網路上的資料非常有限。這一次調用sina的api走了很多的彎路,不過最終還是成功了。這裡把方法分享給大家,希望能夠對大家有所協助。

首先,新浪採用的是Oauth授權方式。具體授權方法如下:

          1. 註冊新浪帳號

          2. 進行開發人員認證

          3. 建立APP

              注意此時,你會得到一個APPKEY和一個APPSECRET,在下面的認證過程中,這是必不可少的一步。

              關於redirecturl:

              在你的APP中要設定一個redirecturl。這個redirecturl的含義是,當你的使用者對你的APP進行了授權之後,網頁會自動跳轉到這個redirecturl,並且向這個redirecturl傳遞一個參數。有了這個參數,才能夠擷取accesstoken,而有了這個accesstoken,你才能有調用API的許可權。

              如果沒有自己的網站,可以把redirecturl設定為https://api.weibo.com/oauth2/default.html,同時程式中的redirecturl也一定要與此一致。(在應用中修改redirecturl,半個小時才可生效)

          4. 得到redirecturl之後,可以在用瀏覽器得到該url,並且取得其code值,形如:

            https://api.weibo.com/oauth2/default.html?code=0c571f78e770809b70f5

          5. 然後再通過該code值申請accesstoken,成功之後,即可獲得存取權限。

          6. 怎樣使用api呢?

            首先,找到api文檔:http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2

            然後,找到一個你想使用的api,比方說:

              statuses/public_timeline

返回最新的公用微博

URLhttps://api.weibo.com/2/statuses/public_timeline.json

其次,對api名做一個變換:【將反斜線/替換為雙底線__

這裡得到:statuses__public_timeline

那麼,statuses__public_timeline(),就是APIClient的成員函數名了。


執行個體代碼:

<pre name="code" class="python">import sysimport weiboimport webbrowserAPP_KEY = 'your key'MY_APP_SECRET = 'your secret'REDIRECT_URL = 'your redirect url'api = weibo.APIClient(APP_KEY, MY_APP_SECRET)authorize_url = api.get_authorize_url(REDIRECT_URL)print(authorize_url)webbrowser.open_new(authorize_url)code = raw_input()request = api.request_access_token(code, REDIRECT_URL)access_token = request.access_tokenexpires_in = request.expires_inapi.set_access_token(access_token, expires_in)print(api.statuses__public_timeline())</pre><p>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.