アカウントリンクのスキーマ(スキル管理API)
アカウントリンクのスキーマ
accountLinkingRequest
構造体は、開発者ポータルの設定タブに表示されるアカウントリンク情報をJSONで表したものです。
アカウントリンクの情報は、ask apiコマンドのcreate-account-linking、get-account-linkingのサブコマンドを使って作成、取得できます。
関連トピック:Alexa Skills KitコマンドラインインターフェースとAlexaスキル管理APIの概要
以下は、Amazon開発者ポータルのアカウントリンクページの画像です。

アカウントリンクのリクエスト
以下は、アカウントリンクの情報をJSON形式で示したものです。
{
"accountLinkingRequest": {
"type": "AUTH_CODE",
"authorizationUrl": "string",
"domains": [
"string"
],
"clientId": "string",
"scopes": [
"string"
],
"accessTokenUrl": "string",
"clientSecret": "string",
"accessTokenScheme": "HTTP_BASIC",
"defaultTokenExpirationInSeconds": integer
}
}
accountLinkingRequestオブジェクト
フィールド | 説明 | 型 |
---|---|---|
type |
OAuth Authorization grant種別です。AUTH_CODE またはIMPLICIT を使用します。注:スマートホームスキルでは必ずAUTH_CODE を使用してください。 |
文字列 |
authorizationUrl |
認証画面のURI | 文字列 |
domains |
ログインページがコンテンツを取得する追加のドメインのリストです。最大15個のドメインを指定できます。 | 文字列の配列 |
clientId |
ログインページがスキルからのリクエストを認識するために使用する識別子です。 | 文字列 |
scopes |
user_id. などユーザーアカウントに必要なアクセス権限を識別します。このフィールドはスマートホームスキルでは必須です。最大15個のスコープを指定できます。 |
文字列の配列 |
accessTokenUrl |
認可トークンをリクエストするためのURIです。type にAUTH_CODE が指定されている場合にのみ必須です。 |
文字列 |
clientSecret |
アクセストークンURIを使ってAlexaサービスの認証を行うための認証情報です。リクエストがAlexaからのものかどうか、clientId と組み合わせて識別します。 |
文字列 |
accessTokenScheme |
HTTP_BASIC 、REQUEST_BODY_CREDENTIALS など、使用される認証の種類です。AUTH_CODE が指定されている場合にのみ必須です。 |
文字列 |
defaultTokenExpirationInSeconds |
任意です。アクセストークンの有効期間を秒単位で指定します。OAuthクライアントが「expires_in」を返す場合、このパラメーターで上書きされます。type がAUTH_CODE の場合にのみ適用されます。 |
整数 |
ユーザーアカウントの認証後にリダイレクトされるURL
「URL値をリダイレクトする」でも説明していますが、リダイレクトURLとは、ユーザー認証後にリダイレクトされるURLのことです。このリダイレクトURLは、redirect_uri
フィールドで参照されます。
redirect_uri
フィールドは既定の定数値を含むため、アカウントリンクスキーマの一部ではありません。そのため、ユーザー入力から解析することはできません。
すべてのスマートホームスキルや一部のカスタムスキルで使用されるAuthorization code grantの場合、redirect_uri
値は以下の形式で指定します。
{baseUrl}/api/skill/link/{vendorId}
一部のカスタムスキルで使用されるImplicit grantの場合、redirect_uri
値は以下の形式で指定します。
{baseURL}/spa/skill/account-linking-status.html?vendorId={vendorId}
有効なHTTPSリダイレクトエンドポイントのリストには、以下のようなURLが含まれます。これらは、baseUrl
に指定可能な値です。
-
“https://pitangui.amazon.com”
-
“https://layla.amazon.com”
これらOAuth Authorization grant種別の違いの詳細については、「アカウントリンクの仕組み」を参照してください。