View SearchForm.java
package com.sios.flow;
import java.io.Serializable;
public class SearchForm implements Serializable{
private static final long serialVersionUID = 1L;
private String title;
View Message.java
package com.sios.flow;
import java.io.Serializable;
/**
* 掲示板のメッセージを格納するBean
* @author ntakei
*/
public class Message implements Serializable {
View WebFlowConfig.java
package com.sios.flow;
import java.util.Arrays;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.Validator;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import org.springframework.web.filter.CharacterEncodingFilter;
View result.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:tiles="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org" lang="jp">
<head>
<meta charset="UTF-8" />
<title>検索画面</title>
</head>
View form.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:tiles="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org" lang="jp">
<head>
<meta charset="UTF-8" />
<title>検索画面</title>
</head>
View SearchAction.java
package com.sios.flow;
import java.util.ArrayList;
import java.util.List;
import org.springframework.binding.message.MessageContext;
import org.springframework.stereotype.Component;
import org.springframework.webflow.action.EventFactorySupport;
import org.springframework.webflow.execution.Event;
View code.gs
function doGet(e) {
// クエリパラメーター「name」で指定された、Googleカレンダー取得対象のユーザーの名前を取得する。
var name = e.parameter.name;
// ユーザーが発話した名前(「〇〇さんの今日の予定を教えて」の〇〇の部分)に紐づく
// メールアドレスを定義する。Googleカレンダーの予定を取得する際は、
// そのキーにメールアドレスを指定しなければならないので、この変換が必要になる。
var mail = {};
mail['タケイ'] = 'ntakei@contoso.com';
mail['スズキ'] = 'suzuki@contoso.com';
View index.js
'use strict';
const Alexa = require('alexa-sdk');
const http = require('https');
//=========================================================================================================================================
//TODO: The items below this comment need your attention.
//=========================================================================================================================================
//Replace with your app ID (OPTIONAL). You can find this value at the top of your skill's page on http://developer.amazon.com.
//Make sure to enclose your value in quotes, like this: const APP_ID = 'amzn1.ask.skill.bb4045e6-b3e8-4133-b650-72923c5980f1';
View messages.php
<?php
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
// ログイン画面にリダイレクトする前に、ログイン後に
// 戻る画面の戻り先のURL(つまり本画面のURL)をセッションに格納します。
$_SESSION['back'] = $_SERVER["REQUEST_URI"];
View messages.php
<?php
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
// ログイン画面にリダイレクトする前に、ログイン後に
// 戻る画面の戻り先のURL(つまり本画面のURL)をセッションに格納します。
$_SESSION['back'] = $_SERVER["REQUEST_URI"];