2017-07-11 4 views
1

Ich versuche, Alexa Echo Punkt mit benutzerdefinierten Fähigkeiten zu VS2015 und Alexa.Net Nugget-Pakete hinzuzufügen. Ich kann die Lambda-Funktion auf Amazon Webservice hochladen. Und ich kann die Fähigkeiten sehen. Allerdings, wenn ich versuche, die Lambda-Funktion Service-Simulator zu testen, erhalte ich den Fehler unterAlexa Service Simulator Parse Fehler

„Der Remote-Endpunkt konnte nicht aufgerufen werden, oder die Antwort, die er zurückkehrte, war ungültig.“
"Parsen Fehler in Zeile 1: Der Remote-Endpunkt^Expecting 'STRING' NUMBER‘, NULL ..."

Ich bin nicht sicher, was hier wirklich fehlt. Hier sind die Details

Lambda Anfrage

{ 
    "session": { 
    "sessionId": "SessionId.23409e06-265b-4704-a288-8d5329a68a68", 
    "application": { 
     "applicationId": "amzn1.ask.skill.55a9cca9-02dc-4780-a55c-c1d0dee6b8c6" 
    }, 
    "attributes": {}, 
    "user": { 
     "userId": "amzn1.ask.account.AHPIWHCHA22Z3WAJGS2ABA3MQ3PTKB4HOMJIBBDILIBPWTSAAOELN45D4PIV3U75IOBDHNGJQ36OSUYK43VQKYSQFIM2OHHOORSDWM2HMLWKINLCLKU7R3SNONWM7YPWSMR5XGN6XKVZGBG4NFHDQXACZLVK57MXUOIYYV6RLLVACBMMSFPVDINMO3QKQUZVZMVR73KTCEYTCRY" 
    }, 
    "new": true 
    }, 
    "request": { 
    "type": "IntentRequest", 
    "requestId": "EdwRequestId.082b6e56-29d4-4eed-a353-e24890cfbefa", 
    "locale": "en-US", 
    "timestamp": "2017-07-11T12:19:27Z", 
    "intent": { 
     "name": "CountryInfoIntent", 
     "slots": { 
     "Country": { 
      "name": "Country", 
      "value": "France" 
     } 
     } 
    } 
    }, 
    "version": "1.0" 
} 

Funktion Handler

public SkillResponse FunctionHandler(SkillRequest input, ILambdaContext context) 
{ 
    var requestType = input.GetRequestType(); 

    if (requestType == typeof(IntentRequest)) 
    { 
     return MakeSkillResponse(
      $"Hello Infotec! This is the first response from your Alexa skill using c sharp.", 
      true); 
    } 
    else 
    { 
     return MakeSkillResponse(
      $"I don't know how to handle this intent. Please say something like Alexa, ask {INVOCATION_NAME} about Canada.", 
      true); 
    } 
} 

private SkillResponse MakeSkillResponse(string outputSpeech, bool shouldEndSession, string repromptText = "Just say, tell me about Canada to learn more. To exit, say, exit.") 
{ 
    var response = new ResponseBody 
    { 
     ShouldEndSession = shouldEndSession, 
     OutputSpeech = new PlainTextOutputSpeech { Text = outputSpeech } 
    }; 

    if (repromptText != null) 
    { 
     response.Reprompt = new Reprompt() { OutputSpeech = new PlainTextOutputSpeech() { Text = repromptText } }; 
    } 

    var skillResponse = new SkillResponse 
    { 
     Response = response, 
     Version = "1.0" 
    }; 
    return skillResponse; 
} 

Antwort