2017-12-10 1 views
-1

Möchten Sie die JSON-Daten auf meine URL URL senden, wenn die json empfangen ich alle json Daten über die URL empfangen und die Daten nicht von ‚resolvedQuery‘Erste Daten von json und vorbei

$update_response = file_get_contents("php://input"); 
$update = json_decode($update_response, true); 

$results = $update['result']['resolvedQuery']; 

$url = "https://autoremotejoaomgcd.appspot.com/sendmessage?key=APA91bEq&message=Data" . urlencode(json_encode($update)); 

jSON-Daten

{ 
    "id": "4ed272a3-b9a4-4f18-a67e-10e12e4f4149", 
    "timestamp": "2017-12-10T10:07:54.282Z", 
    "lang": "en", 
    "result": { 
    "source": "agent", 
    "resolvedQuery": "turn livingroom light on", 
    "action": "", 
    "actionIncomplete": false, 
    "parameters": { 
     "power-toggle": "on", 
     "room": "livingroom" 
    }, 
    "contexts": [], 
    "metadata": { 
     "intentId": "19764ecc-715c-4b25-960f-9845f2aef1f9", 
     "webhookUsed": "true", 
     "webhookForSlotFillingUsed": "false", 
     "webhookResponseTime": 503, 
     "intentName": "lights" 
    }, 
    "fulfillment": { 
     "speech": "Ok, Turning livingroom light on", 
     "messages": [ 
     { 
      "type": 0, 
      "speech": "Ok, Turning livingroom light on" 
     } 
     ] 
    }, 
    "score": 1 
    }, 
    "status": { 
    "code": 206, 
    "errorType": "partial_content", 
    "errorDetails": "Webhook call failed. Error: Webhook response was empty.", 
    "webhookTimedOut": false 
    }, 
    "sessionId": "395d3517-05da-42ac-9037-dadac519ab0b" 
} 

Wie kann ich Daten von ‚resolvedQuery‘ bekommen und senden Sie es an meine URL

+0

Was passiert, wenn Sie $ Ergebnisse tun 'echo;'? –

+0

Können Sie vollständige Json-Daten anzeigen? Welche Sache wiederholt sich in Json? –

+0

hinzugefügt die vollständigen JSON-Daten .. wenn ich $ resultate Echo; Think Shows auf meiner PHP-Seite .. – Null3rs

Antwort

0

im Code, den Sie zur Verfügung gestellt haben Sie die folgende Codezeile

Sie fügen an den URL-Parameter message die Ergebnisse von json_decode($update_response, true) an. $update_response enthält alle decodierten JSON-Daten, die von der HTTP-Anfrage gepostet wurden. Dies ist nicht das, was Sie wollen.

Ich glaube, was Sie wollen, ist ein neuer Parameter namens resolved-query auf die Ergebnisse von json_decode($result, true) gesetzt werden.

Versuchen Sie, Ihre $url Variable auf den folgenden chaninging:

$url = "https://autoremotejoaomgcd.appspot.com/sendmessage?key=APA91bEq&message=Data&resolved-query=" 
     . urlencode(json_encode($result)); 

URL auf die folgende Zeichenfolge festgelegt werden:

https://autoremotejoaomgcd.appspot.com/sendmessage? 
    key=APA91bEq& 
    message=Data& 
    resolved-query=turn+livingroom+light+on