Итак, я попытался создать чат-бота, используя диалоговый поток и клиентскую библиотеку Java. Для этого я использовал диалоговое окноflowflow-webhook -ilerplate- java -master.
Это мой код выполнения:
package com.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
import com.google.actions.api.ActionRequest;
import com.google.actions.api.ActionResponse;
import com.google.actions.api.DialogflowApp;
import com.google.actions.api.ForIntent;
import com.google.actions.api.response.ResponseBuilder;
import com.google.api.services.actions_fulfillment.v2.model.User;
import java.util.ResourceBundle;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyActionsApp extends DialogflowApp
{
private static final Logger LOGGER = LoggerFactory.getLogger(MyActionsApp.class);
@ForIntent("admin add user")
public ActionResponse add_user(ActionRequest request)
{
ResponseBuilder responseBuilder = getResponseBuilder(request);
String name = (String) request.getParameter("name");
String num = (String) request.getParameter("number");
String email = (String)request.getParameter("email");
String prompt;
int conf= Integer.parseInt((String)request.getParameter("conf"));
if(conf==1)
{
try
{
Connection con=DriverManager.getConnection("jdbc:mysql//localhost:3306/bhk","root","");
Statement mystmt=con.createStatement();
String sql="insert into users"+"(name,phone,email,status)"+"values('name','num','email',0)";
mystmt.executeQuery(sql);
prompt="Insertion succesful";
responseBuilder.add(prompt).endConversation();
}
catch(Exception e)
{e.printStackTrace();}
}
else
{
prompt="Request Cancelled";
responseBuilder.add(prompt).endConversation();
}
return responseBuilder.build();
Я использовал gradle для развертывания этого в облаке с помощью appengineDeploy , Каждый раз, когда я запускаю это намерение, я получаю это.
ОТВЕТ RAW API:
"webhookStatus": {
"code": 3,
"message": "Webhook call failed. Error: Failed to parse webhook JSON response: Expect message object but got: \"Error\"."
}
ОТВЕТ НА ВЫПОЛНЕНИЕ:
Error handling the intent - java.lang.Exception
<br />
FULFILLMENT STATUS : <br />
Webhook call failed. Error: Failed to parse webhook JSON response: Expect message object but got: "Error".
Также иногда при развертывании в облаке с помощью gradle при загрузке иногда говорит загрузка 0 файлов. Может ли это быть проблемой?
Я также запустил это на тестовой вкладке console.actions.google.com и там было сказано:
Неправильный ответ Не удалось проанализировать ответ Dialogflow в AppResponse. из-за неверного ответа платформы: не удалось найти RichResponse или SystemIntent в ответе платформы ...