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, ...}