Alexaサービスクライアント¶
Alexa Skills Kitは複数のサービスAPIを提供しています。 あなたのスキル経験をパーソナライズする。 SDKには以下のサービスクライアントが含まれています。 スキルロジック内からAlexa APIを呼び出すために使用できます。
注釈
SDKは、セッション外のAlexa APIのサポートも提供します。 ( プロアクティブイベント<https://developer.amazon.com/docs/smapi/proactive-events-api.html> __、 スキルメッセージング<https://developer.amazon.com/docs/smapi/send-a-message-request-to-a-skill.html> __ 等。)。 SDKを介してこれらのサービスを呼び出す方法の詳細については、 チェックしてください セッション外のAlexaサービスクライアント<OUT_OF_SESSION_SERVICE_CLIENTS.html> __。
ServiceClientFactory¶
Handler Input <REQUEST_PROCESSING.html#handler-input> _の中に含まれる `` service_client_factory`` サポートされているすべてのAlexaサービスのクライアントインスタンスを取得できます。それ 個々のサービスクライアントを作成し、メタデータを設定します。 `` api_access_token``や `` api_endpoint``のように。
`` service_client_factory``を通して `` handler_input``で利用可能ですので 属性、サービスクライアントは任意のリクエストハンドラで使用できます、例外 ハンドラー、および要求、応答のインターセプター。
利用可能なサービスクライアント¶
def get_device_address_service(self):
# type: () -> ask_sdk_model.services.device_address.DeviceAddressServiceClient
def get_directive_service(self):
# type: () -> ask_sdk_model.services.directive.DirectiveServiceClient
def get_list_management_service(self):
# type: () -> ask_sdk_model.services.list_management.ListManagementServiceClient
def get_monetization_service(self):
# type: () -> ask_sdk_model.services.monetization.MonetizationServiceClient
def get_ups_service(self):
# type: () -> ask_sdk_model.services.ups.UpsServiceClient
def get_reminder_management_service(self):
# type: () -> ask_sdk_model.services.reminder_management.ReminderManagementServiceClient
注釈
`` service_client_factory``はあなたが利用できる場合にのみ利用可能です。 `スキルインスタンスを設定する<SKILL_BUILDERS.html#skill-builders>`_ ApiClientを使って
注釈
さまざまなサービスクライアント用のインターフェースおよびコードサンプルの詳細については、`こちらを参照してください。<https://alexa-skills-kit-python-sdk.readthedocs.io/en/latest/SERVICE_CLIENTS.html#alexa-service-clients>`__
Apiクライアント¶
`` ask_sdk_model.services.api_client.ApiClient``は AlexaサービスへのAPI呼び出しを行うときは `` service_client_factory``。 以下に準拠する任意のカスタマイズされた「ApiClient」を登録できます。 SDKとのインタフェース
インタフェース¶
class ask_sdk_model.services.api_client.ApiClient:
def invoke(self, request):
# type: (ApiClientRequest) -> ApiClientResponse
class ask_sdk_model.services.api_client_request.ApiClientRequest(ApiClientMessage):
def __init__(self, headers=None, body=None, url=None, method=None):
# type: (List[Tuple[str, str]], str, str, str) -> None
class ask_sdk_model.services.api_client_request.ApiClientResponse(ApiClientMessage):
def __init__(self, headers=None, body=None, status_code=None):
# type: (List[Tuple[str, str]], str, int) -> None
class ask_sdk_model.services.api_client_message.ApiClientMessage(object):
def __init__(self, headers=None, body=None):
# type: (List[Tuple[str, str]], str) -> None
CustomSkillBuilder <SKILL_BUILDERS.html#customskillbuilder-class> __ ApiClientを登録するためにコンストラクタを使用することができます。
from ask_sdk_core.skill_builder import CustomSkillBuilder
sb = CustomSkillBuilder(api_client = <YourClassInstance>)
DefaultApiClient¶
`` request``ライブラリに基づいた `` DefaultApiClient``は、以下で利用可能になります。 スキル開発者のための `` ask_sdk_core.api_client``モジュール
このクライアントはデフォルトで StandardSkillBuilder <SKILL_BUILDERS.html#standardskillbuilder-class> __に登録されています。 あるいは、スキル開発者はこのクライアントをに登録することができます。 CustomSkillBuilderです。
from ask_sdk_core.skill_builder import CustomSkillBuilder
from ask_sdk_core.api_client import DefaultApiClient
sb = CustomSkillBuilder(api_client=DefaultApiClient())