Отправить HTTP-запрос на публикацию из набора навыков Amazon Alexa

Я новичок в веб-сервере и пытаюсь выполнить PHP-скрипт из Amazon Echo.

В основном у меня работает веб-сервер apache (доступный из интернета через порт 443). У меня также есть скрипт PHP внутри моего веб-сервера https://web-server.mine/script.php

Я успешно запустил скрипт PHP из веб-браузера с базовой веб-аутентификацией.

Сейчас я пытаюсь сделать POST-запрос из комплекта навыков Amazon Alexa, но я не знаю, как передать учетные данные, чтобы он мог позвонить по URL-адресу.

3

Решение

Я не совсем понимаю, о чем вы спрашиваете, поэтому я постараюсь ответить на все мои интерпретации.

  1. Если вы пытаетесь убедиться, что именно Alexa Skill пытается получить доступ к вашему URL-адресу, я нашел самый простой способ аутентификации, проверив applicationId по данным POST:

    // Get raw POST data
    $post = file_get_contents( 'php://input' );
    
    // Decode the JSON into a stdClass object
    $post = json_decode( $post );
    
    // Check the applicationId to make sure it's your Alexa Skill
    if ( 'amzn1.echo-sdk-ams.app.[your-unique-value-here]' == $post->session->application->applicationId ) {
    // Insert code to run if the applicationId matches
    echo 'The applicationId matches!';
    } else {
    // Insert code to run if the applicationId does NOT match
    echo 'The applicationId does NOT match!';
    }
    

    Если вы идете по этому пути, вам нужно убедиться, что вы создали действительный сертификат SSL, как показано здесь: Создать закрытый ключ и самоподписанный сертификат для тестирования

  2. Если вы пытаетесь сделать запрос POST на другой URL из вашего скрипта, попробуйте использовать file_get_contents() как описано здесь: Как разместить данные в PHP с помощью file_get_contents?

Кстати, возможно, стоит рассмотреть возможность использования набора классов PHP, которые были разработаны для облегчения создания навыков Alexa, как этот: https://github.com/develpr/alexa-app

Я лично запускаю Node.js на Raspberry Pi и использую пакеты Node alexa-app-server а также alexa-app сделать создание и размещение нескольких навыков намного проще. Если это то, что вас интересует, просто Google «nodejs alexa-app-server» для последних ссылок на эти пакеты.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]