Contents

認証と認可

API Key

リクエストにユーザーごとに発行された API キーを付加して認証する方式です。 リソースへのアクセス時に、発行された API キーをクエリパラメーター “apiKey” またはリクエストヘッダー “Backlog-API-Key” として付加することで認証が行えます。

リクエスト例

https://xx.backlog.jp/api/v2/users/myself?apiKey=abcdefghijklmn

URLがbacklog.comの場合は次のようになります。

https://xx.backlog.com/api/v2/users/myself?apiKey=abcdefghijklmn

リクエスト例(リクエストヘッダー)

API キーはクエリパラメーターの代わりにリクエストヘッダー “Backlog-API-Key” で送信することもできます。

GET /api/v2/users/myself
HTTP/1.1
Host: xx.backlog.jp (URLがbacklog.comの場合はxx.backlog.comになります)
Backlog-API-Key: abcdefghijklmn

OAuth 2.0

OAuth2認可フレームワーク(RFC 6749)で定められた認可コードによる認可(Authorization Code Grant)を使用してAPIにアクセスすることができます。

ここで使用するclient_idとclient_secretを取得するには、Backlog Developer サイトでアプリケーション登録を行ってください。

認可リクエスト

メソッド

GET

URL

/OAuth2AccessRequest.action

認可エンドポイントです。 ユーザからの許可が得られた場合、redirect_uriに認可コードを含めてリダイレクトを行います。

クエリパラメーター

名前説明
response_type (必須)string値は”code”で固定
client_id (必須)string
redirect_uri (必須)string開発アプリケーション ページで設定したものと同じUri
statestring

アクセストークンリクエスト

メソッド

POST

URL

/api/v2/oauth2/token

トークンエンドポイントです。 認可エンドポイントのリダイレクトから取得した認可コードを使用して、有効なアクセストークン及びリフレッシュトークンを取得できます。

リクエストパラメーター

Content-Type:application/x-www-form-urlencoded
パラメーター名内容
grant_type (必須)string値は”authorization_code”で固定
code (必須)string認可エンドポイントのリダイレクトから取得した認可コード
redirect_uri (必須)string開発アプリケーション ページで設定したものと同じUri
client_id (必須)string
client_secret (必須)string

レスポンス例

ステータスライン / レスポンスヘッダ
HTTP/1.1 200 OK
Content-Type:application/json;charset=utf-8
レスポンスボディ
{
    "access_token": "YOUR_ACCESS_TOKEN",
    "token_type":"Bearer",
    "expires_in":3600,
    "refresh_token":"YOUR_REFRESH_TOKEN"
}

アクセストークンを使用したAPIアクセス

トークンエンドポイントから取得したアクセストークンをAuthorizationヘッダーに含めてAPIを呼び出すことができます

GET /api/v2/space
HTTP/1.1
Host: example.backlog.jp (URLがbacklog.comの場合はexample.backlog.comになります)
Authorization: Bearer YOUR_ACCESS_TOKEN

認証エラーが発生した場合、ステータスコード401を返却します。 エラーの詳細はレスポンスのWWW-Authenticateヘッダーを確認して下さい。

  • アクセストークンが間違っている場合
"Bearer error="invalid_token", error_description="The access token is invalid"
  • アクセストークンの有効期限切れの場合
"Bearer error="invalid_token", error_description="The access token expired"

アクセストークンの更新

アクセストークンは新規に生成されてから3600秒(1時間)で有効期限切れになります。リフレッシュトークンを使ってトークンエンドポイントから有効なアクセストークンを取得することができます。

メソッド

POST

URL

/api/v2/oauth2/token

リクエストパラメーター

Content-Type:application/x-www-form-urlencoded
パラメーター名内容
grant_type (必須)string値は”refresh_token”で固定
client_id (必須)string
client_secret (必須)string
refresh_token (必須)string

レスポンス例

ステータスライン / レスポンスヘッダ
HTTP/1.1 200 OK
Content-Type:application/json;charset=utf-8
レスポンスボディ
{
    "access_token": "YOUR_ACCESS_TOKEN",
    "token_type":"Bearer",
    "expires_in":3600,
    "refresh_token":"YOUR_REFRESH_TOKEN"
}

権限と制限

API を呼び出せるかどうかは、そのユーザーの「権限」と「制限」の組み合わせで決まります。それぞれで何ができるかはユーザーの権限を参照してください。

権限

ユーザーがスペースやプロジェクトに対して持つ役割です。

  • 管理者
  • プロジェクト管理者
  • 一般ユーザー
  • ゲスト

API のページでは、上記の 4 つすべてを含むことを「すべての権限」と表記します。

制限

権限の範囲内で、操作できることをさらに狭める設定です。「一般ユーザー」と「ゲスト」に対して設定できます。

  • 制限なし
  • 課題の登録のみ
  • 課題の閲覧のみ

「実行可能な権限」の読み方

各 API のページには、その API を呼び出せるユーザーが「実行可能な権限」として記載されています。記載のしかたには、以下のパターンがあります。

権限と制限が併記されている場合

権限制限 の欄それぞれについて、記載された値のいずれかに該当するユーザーが呼び出せます。複数の値が記載されている場合は、いずれか1つに該当すればよいです。

例えば添付ファイルの送信では、権限に「すべての権限」、制限に「課題の登録のみ」と「制限なし」が記載されています。この API は、権限は問わず、制限が「課題の登録のみ」または「制限なし」のいずれかであるユーザーが呼び出せます。制限が「課題の閲覧のみ」のユーザーは呼び出せません。

権限だけが記載されている場合

「管理者」「プロジェクト管理者」のように権限だけが記載されている場合は、その権限を持つユーザーが呼び出せます。複数の値が記載されている場合は、いずれか1つに該当すればよいです。

「すべての権限」とだけ記載されている場合

権限も制限も問わず、すべてのユーザーが呼び出せます。

権限 の欄に「すべての権限」と記載されている場合とは意味が異なります。権限 の欄にある場合は権限を問わないという意味で、呼び出せる範囲は 制限 の欄によって絞られます。単独で記載されている場合は制限による絞り込みがありません。

bラボ(Backlog Community Lab)のロゴ

bラボ(Backlog Community Lab)は、Backlogのユーザー向けオンラインコミュニティです。
Backlogの活用ノウハウ、他社事例をご用意。ほかのユーザーとBacklogの情報交換もできます。