DevOps-Programming Basics with Python 18
API Request with Python
這邊做一個小的程式練習,透過Python去呼叫外部系統的API
在此這個外部系統API範例即是使用GitLab的API
也就是兩個應用程式間的溝通(Python對GitLab)可以怎麼實踐
這邊使用的常見Protocol就是HTTP request
由於之前其他課程原因,我在Gitlab上面有許多示範專案
然後嘗試用Python打GitLab API來取得專案清單
而一個應用系統去發動API Request(或稱API Call)給另一個系統
所以首先GitLab必須存在有這些API給別的系統呼叫
Implementation
在Python中,本身是沒有可以呼叫或說發動HTTP Request的語法API
所以要找到如下的Python Library也就是Module(LINK):
放大也可以看到:
所以這邊透過pip來先安裝上述的Python Library
#從上面網站複製pip安裝指令:
pip install requests
看到:
然後可以開始寫呼叫的程式:
接著問題就是要找到GitLab有釋出的API的URL
然後可以找到(LINK):
要找到只顯示自己Projects的API:
找到(LINK):
而這邊要特別注意的是,GitLab的base API位置是:
#這邊要特別注意的是,GitLab的base API位置是:
https://gitlab.com/api/v4
#所以我們要的URL其實是:
https://gitlab.com/api/v4/users/:user_id/projects
然後定義一個物件來承接API的Response,並印出內容:
這邊可以印出response的text內容會看到:
看到其文字內容的型別,會是字串,不容易處理:
而這邊response物件則可以轉為json來處理,改寫成:
另外各專案的URL位置的json key(等下會用到):
以上我們就確認了json後的物件比較會是我們想拿到的物件格式
接著就是照之前for迴圈來處理這個多筆的內容:
上面有加了\n的換行符號,比較能清楚顯示結果
這邊也可以改成查找講師的GitLab專案清單:
當前main.py內容為:
(除了main.py以外沒有其他程式)