OAuth Scopes
OAuth Scope(以降、Scope)とは、アプリが利用するリソース(resource)と、その操作権限(operation)です。
Developers Console でアプリを登録する際に、アプリのScopeを設定する必要があります。
設定したScopeは、アプリのAccess Tokenに反映されます。
APIの呼び出しには、1つ以上のScopeを指定する必要があります。詳細は各APIドキュメントを参照してください。
Scopeの形式
Scope名は「resource.operation」の形式で表現します。
resouceとは、LINE WOKRSが提供する機能や管理データを意味します。例えば、ユーザー情報はuser、グループ情報はgroup、Bot機能はbot。
operationとは、該当するresourceの操作権限です。例えば、user resourceは2つのoperationを選択することが可能です。
- user : Read / Write
- user.read : Read
user Scopeは、ユーザーリソースの Read / Write APIを呼び出すことが可能です。しかし、user.read ScopeはユーザーリソースのRead APIをコールすることは可能ですが、新規ユーザーを追加したり、既存ユーザーを削除するWrite APIを利用することはできません。これにより、アプリに対する操作権限を制御することが可能です。アプリに対して、必要のない操作権限を付与しないことを推奨します。
アプリ単位で利用するScopeを設定することが可能です。設定したScopeは、アプリ側のログイン画面で表示されます。利用プランにより、表示されないScopeがあります。
なお、HTTPメソッドで該当するAPIのScopeを推測することが可能です。例えば、user resourceに関するScopeによるHTTPメソッドは以下の通りです。
- user : GET / POST / PUT / PATCH / DELETE
- user.read : GET
Scopeリスト
Developers Console のアプリ設定で提供するScopeは以下の通りです。
Scope | Resource | Operation |
---|---|---|
audit.read | 監査ログ | Read |
board | 掲示板 | Read / Write |
board.read | 掲示板 | Read |
bot | Bot | Read / Write |
bot.read | Bot | Read |
calendar | カレンダー | Read / Write |
calendar.read | カレンダー | Read |
contact | アドレス帳 | Read / Write |
contact.read | アドレス帳 | Read |
file | Drive | Read / Write |
file.read | Drive | Read |
group | グループ | Read / Write |
group.read | グループ | Read |
group.folder | グループフォルダ | Read / Write |
group.folder.read | グループフォルダ | Read |
メール | Read / Write | |
mail.read | メール | Read |
orgunit | 組織 | Read / Write |
orgunit.read | 組織 | Read |
directory | 組織 ユーザー 役職 職級 利用権限タイプ グループ |
Read / Write |
directory.read | 組織 ユーザー 役職 職級 利用権限タイプ グループ |
Read |
partner | パートナー | Read / Write |
partner.read | パートナー | Read |
user | ユーザー | Read / Write |
user.read | ユーザー | Read |
user.email.read | ユーザー(emailのみ) | Read |