アカウントリンクのスキーマ(スキル管理API)

アカウントリンクのスキーマ(スキル管理API)

アカウントリンクのスキーマ

accountLinkingRequest構造体は、開発者ポータルの設定タブに表示されるアカウントリンク情報をJSONで表したものです。

アカウントリンクの情報は、ask apiコマンドのcreate-account-linkingget-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です。typeAUTH_CODEが指定されている場合にのみ必須です。 文字列
clientSecret アクセストークンURIを使ってAlexaサービスの認証を行うための認証情報です。リクエストがAlexaからのものかどうか、clientIdと組み合わせて識別します。 文字列
accessTokenScheme HTTP_BASICREQUEST_BODY_CREDENTIALSなど、使用される認証の種類です。AUTH_CODEが指定されている場合にのみ必須です。 文字列
defaultTokenExpirationInSeconds 任意です。アクセストークンの有効期間を秒単位で指定します。OAuthクライアントが「expires_in」を返す場合、このパラメーターで上書きされます。typeAUTH_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種別の違いの詳細については、「アカウントリンクの仕組み」を参照してください。