Amazon AlexaAWS

Alexa Days 2017 で Alexa SkillのバックエンドにWordPressを使う話をしてきました

スライド https://speakerdeck.com/hideokamoto/wordpress-make-easier-to-create-alexa-skills https://speakerdeck.com/ […]

広告ここから
広告ここまで

スライド

https://speakerdeck.com/hideokamoto/wordpress-make-easier-to-create-alexa-skills
https://speakerdeck.com/hideokamoto/wordpress-make-easier-to-create-alexa-skills

補足

WordPressのデータをAlexaで扱う3つの方法

現時点で把握してる内容では、以下の3つがあるかなと思います。

  • RSS
  • WP REST APIを直接呼び出す
  • LambdaからWP REST APIを呼び出す

RSSを使う

Alexa SkillはFlash Briefing Skillsに限ってですが、RSSフィードをよんでくれます。

WordPressが出力するRSSはFlash Briefing Skillsで読み込むことができるので、極端な話これだけでAlexa Skillが作れてしまいます。

方法などをまとめたスライドもありますので、こちらもどうぞ。
https://speakerdeck.com/hideokamoto/flash-briefingshi-sitainara-wordpressshi-utoiiyo

https://speakerdeck.com/hideokamoto/flash-briefingshi-sitainara-wordpressshi-utoiiyo

これのデメリットはFlash Briefing Skillsしか使えないというところです。新着記事読み上げには使えますが、それ以外の用途を目指すならばある程度自力でコードを書いたりする必要があります。

WP REST APIを直接呼び出す

WordPressを触っている人にとって、おそらく一番とっつきやすい方法がこちらです。
WordPress4.7以降で利用できる「WP REST API」を使うことで、Alexaでのやりとりに必要なレスポンス処理を作り上げるというものです。

AlexaWPというプラグインがGitHubにありますので、こちらを使うことでもエンドポイントの追加はできます。

ただ、これらを使った場合には「全てのレスポンスをWordPressで定義する必要がある」という問題もでてきます。

あいさつやお礼など、WordPressのデータを必要としないやりとりについてもWordPressにリクエストが発生してしまいますので、WordPressがSPOFになってしまう場合もあるかなと思います。

LambdaからWP REST APIを呼び出す

最後の方法は、間にAWS Lambdaを挟むという方法です。
Node.jsであれば、Alexa teamがalexa-sdkというライブラリが提供されています。

こちらを使用し、WPのデータを参照したい時のみWordPressのAPIにリクエストを出すという方法を取ることで、他のAPIを呼び出したい時などの柔軟性も確保できます。

サンプルとして、Serverless Frameworkを組み合わせて音声ガイド的なものを作るものを作ってみました。

https://github.com/hideokamoto/serverless-alexa-city-guide

alexa-sdkを使うことで、レスポンスのJSONを自力で組み立てる必要がなくなるなど、より実装に集中することができるので、Node.jsが使える方は使わない手はないと思います。

その他

Pythonで実装したバージョンに興味がある方は、Alexa AMIMOTO Ninja skillというSkillがあります。

GitHubにソースコードもありますので、ぜひ見てみてください。

まとめ

Alexa Skillはできることが多いので、とりあえず触ってみたい人にとって、何からしたらいいかわからない感があるかもです。
そんな時はWordPressを使って、とりあえずFlash Briefing Skillsから遊んでみるというのも手かなと思います。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts