發表文章

目前顯示的是 六月, 2012的文章

OAuth in GAE

因為需要用到Google的某個service, 而那個service需要用OAuth認證, 最近研究了一下OAuth2要如何在GAE上用. 身為OAuth2推手之一的Google, 在推廣OAuth2及提供對應的Tools來說, 盡了很大的心力. 以python來說, 它就提供了google-api-python-client這個library, 可以很容易的使用OAuth. 我參考了這份文件實驗成功使用OAuth2了, 特別記錄一下.

安裝在Linux與MacOS下十分簡單, 只要'sudo easy_install --upgrade google-api-python-client'即可安裝完成. Windows下就哭哭了, 但是最後的成果是可以在Windows下的dev_appserver.py裡執行的.在Google APIs Console裡註冊你的AP 在左邊的下拉選單裡新增一個Project.在Service那欄裡找出對應的API, 把它切換成On.點API Access.點Create on OAuth 2.0 client ID.因為是GAE, 選Web application. Hostname可以先打localhost.點Create後, 會產生三個像密碼一樣的東西, 兩個link. 把它們抄寫到一個叫settings.py的檔裡. 等等會用到.CLIENT_ID='把那串密碼裡的Client ID填在這' CLIENT_SECRET='把那串密碼裡的Client secret填在這' SCOPE='' #這是要使用的API應該會提供的資訊, 從API的文件取得. 在安裝完google-api-python-client後, 會在/usr/local/bin裡裝一個enable-app-engine-project的script. 如果已經有把/usr/local/bin加入PATH的話, 直接執行後面加project目錄即可.e.g. enable-app-engine-project ./上面那段command會複製一大堆目錄檔案過來, 把你的目錄搞的亂七八糟, 不過就將就著用吧.多建了apiclient, httplib2, oauth2, oauth2client, uri…