こんにちは。hacknoteのr.katoです。
hacknoteではBacklogを使ってチケット(課題)の管理をしています。
BacklogAPIを使った自動化のプログラムを書く必要が出てきたのですが、その際にAPIにユーザーIDを求められました。
管理者やプロジェクト管理者の権限を持っていればユーザーID(数値)をユーザー一覧の取得で調べることができたのかもしれませんが、一般ユーザーなのでできませんでした。
そこで今回どのように一般ユーザーのtokenを使ってユーザーID(数値)を調べたのかを紹介します。
ログイン時のIDとユーザーID(数値)は別物のようです。
API tokeの取得
ログインした状態で https://{スペースID}.backlog.jp/EditApiSettings.action
にアクセスし登録ボタンをクリックするとtokenが発行されます。
取得したい人が作成or更新したチケットの情報をpythonで取得する
tokenは先程取得したものを、ticketIDはチケットのURLの /view/
の後ろに書かれているものを入れて、次を実行すると、ユーザーID(数値)の含まれたものが出力されます。
import requests token = "xxxxxxxxxxxxxxxxxxxxx" ticketID="xxx-xx" api_url="https://{スペースID}.backlog.jp/api/v2/issues/" api_url=api_url+ticketID issue = requests.get(api_url,{'apiKey':API_KEY}).json() print(issue)
出力されたものの中に、
createdUser
や updatedUser
などの後に
{'id': ユーザーID(数値), 'userId': 'xxxx', 'name': 'xxxxxx', 'roleType': n, 'lang': None, 'mailAddress': 'hogehogehoge@hoge.hoge', 'nulabAccount': None, 'keyword': 'xxxxxxxxxxxxx'}
といった感じの物があるので、idの後にある数値がユーザーID(数値)となります。