2016-07-29 7 views
0

Ich finde keine Lösung, ich mache meinen Code in der Basis zu anderen Code, den ich im Web http://zakilive.com/tag/google-cloud-messaging-php-tutorial/ gefunden, weil in Google nicht existiert Probe für php, habe ich den nächsten Code:Ich habe diesen Fehler mit Google Cloud Natural Language API: Die AnnotateTextRequest.features ist leer in PHP

<?php 
 

 

 
define("API_ACCESS_KEY", "my api key"); 
 

 
$msg = array 
 
(
 
\t 'document' \t => array(
 
\t 
 
\t \t 'type'=>'PLAIN_TEXT', 
 
\t \t 'content'=>"Michelangelo Caravaggio, Italian painter, is known for 
 
       'The Calling of Saint Matthew'." 
 
\t 
 
\t), 
 
\t 'encodingType'=>'UTF8', 
 
); 
 

 

 
$headers = array 
 
(
 
\t 'Authorization: Bearer ' . API_ACCESS_KEY, 
 
\t 'Content-Type: application/json' 
 
); 
 
    
 
$ch = curl_init(); 
 
curl_setopt($ch,CURLOPT_URL, 'https://language.googleapis.com/v1beta1/documents:annotateText'); 
 

 
curl_setopt($ch,CURLOPT_POST, true); 
 
curl_setopt($ch,CURLOPT_HTTPHEADER, $headers); 
 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
 
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($msg)); 
 
$result = curl_exec($ch); 
 
curl_close($ch); 
 
echo $result;

die vollständige Antwort ist: { "Fehler": { "Code": 400, "message": „die AnnotateTextRequest.features ist leer. "," status ":" INVALID_ARGUMENT "," Details ": [{" @type ":" type.googleapis.com/google.rpc.Ba dRequest "," fieldViolations ": [{" field ":" AnnotateTextRequest.features "," description ":" Keine Features angegeben. " }]}}}}

Ich konnte den Code in anderen Sprachen immer noch nicht tun.

Helfen Sie mir bitte

Die API ist: https://cloud.google.com/natural-language/docs/

Antwort

1

ich meinen Code zu beheben, habe ich die "Features" fehlte, und ich sehe auf der Seite: https://cloud.google.com/natural-language/reference/rest/v1beta1/documents/annotateText und in https://cloud.google.com/natural-language/reference/rest/v1beta1/documents/annotateText#Features und ich gesehen in meinem Code in der $ msg var:

$msg = array 
 
(
 
\t 'document' \t => array(
 
\t 
 
\t \t 'type'=>'PLAIN_TEXT', 
 
\t \t 'content'=>"Michelangelo Caravaggio, Italian painter, is known for 
 
       'The Calling of Saint Matthew'." 
 
\t 
 
\t), 
 
\t 'features'=>array(
 
\t "extractSyntax"=> true, 
 
    "extractEntities"=> false, 
 
    "extractDocumentSentiment"=> false 
 
\t), 
 
\t 'encodingType'=>'UTF8', 
 
\t 
 
);

und jetzt I h ave eine gute Antwort, aber jetzt meine Frage ist, wie kann ich automatisch eine API_ACCESS_KEY generieren, aber ich denke, dass dies eine andere Frage ist.

+0

hast du es funktioniert. Ich bekomme immer diesen Fehler "Die Anfrage kann nicht mit einem Client-Projekt identifiziert werden. Bitte übergeben Sie einen gültigen API-Schlüssel mit der Anfrage." –

+0

FYI [dieses Projekt] (https://github.com/darrynten/google-natural-language-php) könnte bei der Arbeit mit dieser API nützlich sein –

Verwandte Themen