開発者が作成したAppでチャネルトークAPIを使用するには、トークンを発行する必要があります。
まず、[チャネル設定] - [セキュリティ・開発] - [アプリ設定] で、以下の手順に従ってください。
トークン発行には、まずApp Secretを取得する必要があります。アプリ設定ページ上部の「発行」ボタンをクリックしてシークレットを取得できます。このシークレットは外部に漏洩しないようご注意ください。トークンを再発行する場合、以前に発行されたトークンは無効化されます。
Channel、User、Managerセクションで、開発者が使用する機能をチェックして選択し、保存する必要があります。各機能の説明はこちらをご参照ください。
User、Managerセクションに登録した権限は、WAMに渡されるトークンに含まれるようになります。
Channelセクションに登録した権限は、以下の (3) の手順を通じてトークンとして発行できます。
App Secretを発行したら、以下のようなリクエストを通じてトークンを交換できます。issueToken / refreshTokenを含むトークン API には、10 tokens / 30 minute の固定ウィンドウによる rate-limit が適用されています。レート制限を超える場合、トークン発行が拒否される可能性がある点にご注意ください。
method | PUT |
|---|---|
endpoint | app-store-api.channel.io/general/v1/native/functions |
notes | App Secret を使用してトークンを交換します |
リクエスト
fields | notes | required | type |
|---|---|---|---|
secret | (1)で発行したApp secret | true | string |
channelId | 特定のチャネルに対するトークン発行時に記入 | false | string |
channelIdを明示しない場合:アプリの基本権限が付与されます。以下の権限が含まれます。
アプリにコマンドを登録するための機能です。Commandに関するドキュメントをご参照ください。(→Command)
channelId を明示する場合:チャネルに対するnative functionが必要な場合、channelIdを記入する必要があります。
該当チャネルにアプリがインストールされている必要があります。
「認証と権限」の
Channelタブで記入したnative functionに対する権限が付与されます。
レスポンス
fields | notes | required | type |
|---|---|---|---|
refreshToken | refreshToken.以下のAPIを参照 | true | string |
accessToken | accessToken,以下の使用方法を参照 | false | string |
expiresIn | expireとなる時間.second単位 | true | int64 |
accessTokenには発行されたトークンが格納され、refreshTokenの使用については以下をご参照ください。
method | PUT |
|---|---|
endpoint | app-store-api.channel.io/general/v1/native/functions |
notes | refreshTokenを使用してトークンを再発行します |
リクエスト
params | notes |
|---|---|
refreshToken | issueTokenのレスポンスで発行された refreshToken |
レスポンス
発行されたJWTトークンは、x-access-token HTTPヘッダーに記入して、Native FunctionまたはFunctionを呼び出す際に使用できます。
Function呼び出しでx-access-tokenを使用する例