導航:首頁 > 編程語言 > pythonappapi

pythonappapi

發布時間:2024-07-05 02:31:29

❶ 如何用python開發移動App後台

1、使用python開發APP後台要用到tornado框架,因為非阻塞io的原因,性能非常高,特別適合寫後端API(App的後端應該都是rest風格的api),而且成熟穩定。

2、APP後台需要部署伺服器,這方面涉及到運維、測試、開發諸多方面, 部署和測試推薦幾個包:fabric、nose、unittest(python自帶),版本管理推薦git,持續集成推薦使用docker+jenkins。

3、APP後台服務性能需求方面,youtube、reddit、豆瓣、知乎這樣的大流量網站都是python寫的,所以App的規模不太可能遇到性能問題,即使有也應該不是python的問題,而是任何語言都會有問題。大量的pv是可以靠堆伺服器堆出來,如果是計算量比較大的任務,可以考慮用c或c++寫。

4、網頁前端以及移動端開發後台用python寫的API,讓前端使用React,就可以輕松解決前後端分離這個問題。

5、現有開源實例子比較少,App後端開源的不常見,而且大部分是rest風格的api,很多時候會涉及到自身的業務和敏感信息也不會開源,所以都要自己從頭開始編寫。

❷ 如何通過python調用新浪微博的API

1.下載SDK

使用python調用API的話,首先要去下一個Python的SDK,sinaweibopy

連接地址在此: http://michaelliao.github.com/sinaweibopy/

可以使用pip很快的導入,github連接里的wiki也有入門的使用方法,很容易看懂。

2.理解新浪微博的授權機制

在調用API之前,首先要搞懂什麼叫OAuth 2,即新浪微博的授權機制,

連接在此: http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E

3.在新浪微博注冊應用

每個人都可以通過新浪微博開發者平台注冊自己的應用,我注冊的是站內應用。注冊後會為每個應用分配唯一的app key 和 app secret,這在上文提到的授權機制中需要用到,相當與每個應用的標示吧。

至此,我們可以嘗試寫代碼調用新浪微博的API啦。

4.簡單的調用API實例

參考了往上很多資料和文檔,寫了一個簡單的調用過程。

# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = 」
APP_SECRET = 」
CALLBACK_URL = 」
#這個是設置回調地址,必須與那個」高級信息「里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 獲取URL參數code:
code = 『『
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,類似abc123xyz456
expires_in = r.expires_in # token過期的UNIX時間:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)

print client.friendships.friends.bilateral.ids.get(uid = 12345678)

通過以上的代碼,我實現了調用相互關注API的調用,即查找與某個id的用戶相互關注的人的列表。

其中,APP_KEY和APP_SECRET就是前文中分配給每個應用的信息,回調地址在每個應用的高級信息中可以看到,需要自己設置,不過隨便設置一下就好

比較惡心的是code的獲取,我一開始看sinaweibopy的文檔的時候也沒弄懂是什麼意思,如上面的代碼所示,url得到的是一個授權的網址,我們通過

webbrowser.open_new(url)
這行代碼打開瀏覽器跳轉到授權的界面,然後觀察所在界面的網址,會顯示大概如下一樣的格式:

http://apps.weibo.com/sayarywei?code=

看到了嗎?
問號後面有一個code=……的一個東西,把等號後面的字元串拷貝下來賦給code就可以了,但是每次運行程序是code不是一成不變的,也就是說每次都
要有這么一個手動獲取的過程,我覺得很麻煩,以後自己再研究一下,實現自動獲取code就好了。如果能有哪位大神告訴我,感激不盡~

好了,得到正確的code之後就可以完成授權認證,也就可以調用微博的API啦,至於如何在Python下調用,我拷貝一下sinaweibopy上的介紹:

首先查看新浪微博API文檔,例如:

API:statuses/user_timeline

請求格式:GET

請求參數:

source:string,採用OAuth授權方式不需要此參數,其他授權方式為必填參數,數值為應用的AppKey?。

access_token:string,採用OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權後獲得。

uid:int64,需要查詢的用戶ID。

screen_name:string,需要查詢的用戶昵稱。

(其它可選參數略)

調用方法:將API的「/」變為「.」,根據請求格式是GET或POST,調用get ()或post()並傳入關鍵字參數,但不包括source和access_token參數:

r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text

若為POST調用,則示例代碼如下:

r = client.statuses.update.post(status=u'測試OAuth 2.0發微博')

若需要上傳文件,傳入file-like object參數,示例代碼如下:

f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'測試OAuth 2.0帶圖片發微博', pic=f)
f.close() # APIClient不會自動關閉文件,需要手動關閉

請注意:上傳的文件必須是file-like object,不能是str,因為無法區分一個str是文件還是欄位。可以通過StringIO把一個str包裝成file-like object。

閱讀全文

與pythonappapi相關的資料

熱點內容
如何卸載通達伺服器端 瀏覽:674
神經網路演算法計算誤差大 瀏覽:334
elgamal演算法p大小 瀏覽:300
文件夾10厘米12厘米 瀏覽:534
加密卡怎麼模擬到vivo手機 瀏覽:290
中國銀行程序員上線是干什麼的 瀏覽:522
凱恩帝100系統攻絲編程 瀏覽:742
健身為什麼可以讓人解壓 瀏覽:132
軟體構造是不是編譯原理 瀏覽:200
正品溯源碼大盞怎麼來的 瀏覽:751
androidlayout底部 瀏覽:754
清靜經pdf 瀏覽:614
androidjsonarray遍歷 瀏覽:821
微博手機怎麼打開加密照片 瀏覽:224
移動空調降溫了壓縮機會停嗎 瀏覽:231
如何建立自己的雲伺服器嗎 瀏覽:92
pdf0b 瀏覽:891
安卓手機怎麼接母頭 瀏覽:831
linux切換到普通用戶 瀏覽:659
淘寶APP怎麼關閉逛逛 瀏覽:864