BacklogでAPIを使ってユーザーのID(数値)を調べる方法

こんにちは。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)

出力されたものの中に、

createdUserupdatedUser などの後に

{'id': ユーザーID(数値), 'userId': 'xxxx', 'name': 'xxxxxx', 'roleType': n, 'lang': None, 'mailAddress': 'hogehogehoge@hoge.hoge', 'nulabAccount': None, 'keyword': 'xxxxxxxxxxxxx'}

といった感じの物があるので、idの後にある数値がユーザーID(数値)となります。

公式APIドキュメント