Requests: HTTP for Humans™ — Requests 2.20.1 documentation
requests · PyPI
Requestsは人間に優しいHTTP通信用ライブラリです。ちょっとしたリクエストをAPIに送る時などに便利です。次のコード例はbacklogの課題追加APIです。backlogの課題はまとめて追加することが多くいちいちUIで記述をするのは面倒です。APIでまとめて送ることで楽が出来ます。
import requests BACKLOG_URL = "https://hogehoge.backlog.jp/api/v2/issues" API_KEY = "hogehogefugafuga" PROJECT_ID = 104607 # プロジェクトID ISSUE_TYPE_ID = 485681 # 課題種別ID CATEGORY_ID = 279257 # カテゴリID PRIORITY_ID = 3 # 優先度 ASSIGNEE_ID = 251977 # ユーザID request_data = [ { 'summary': '会員登録機能', 'startDate': '2018-12-07', 'endDate': '2018-12-08', }, { 'summary': '会員削除機能', 'startDate': '2018-12-08', 'endDate': '2018-12-09', } ] for data in request_data: BACKLOG_PARAMS = { 'apiKey': API_KEY, 'projectId': PROJECT_ID, 'summary': data['summary'], 'issueTypeId': ISSUE_TYPE_ID, 'categoryId[]': CATEGORY_ID, 'priorityId': PRIORITY_ID, 'startDate': data['startDate'], 'endDate': data['endDate'], 'estimatedHours': 7, 'assigneeId': ASSIGNEE_ID, } response = requests.post(BACKLOG_URL, params=BACKLOG_PARAMS) print(response)
requetsでリクエストを送るのは簡単です。送信メソッド毎(get,post,put,patch,delete)のメソッドがrequests内に用意されており、それの引数に文字列のURLと辞書型のボディを渡すだけです。これだけの設定でファイルを実行するとリクエストが送られます。
細かい設定、細かい結果の取得も簡単にできます。
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text u'{"type":"User"...' >>> r.json() {u'private_gists': 419, u'total_private_repos': 77, ...}