Ich habe die Google Cloud Vision API mit einer PHP-App, die auf einem privaten VPS gehostet wird, eine Weile ohne Probleme verwendet. Ich migriere die App zu Google AppEngine und stoße jetzt auf Probleme.Google Cloud Vision API auf PHP AppEngine
Ich verwende einen CURL-Post an die API, aber es ist auf AppEngine fehlgeschlagen. Ich habe die Fakturierung aktiviert und andere Curl-Anfragen funktionieren ohne Probleme. Jemand hat erwähnt, dass Aufrufe von googleapis.com bei AppEngine nicht funktionieren und dass ich anders auf die API zugreifen muss. Ich kann keine Ressourcen online finden, um dies zu bestätigen.
Unten ist mein Code, CURL Fehler # 7 wird zurückgegeben, konnte keine Verbindung zum Host herstellen.
$request_json = '{
"requests": [
{
"image": {
"source": {
"gcsImageUri":"gs://bucketname/image.jpg"
}
},
"features": [
{
"type": "LABEL_DETECTION",
"maxResults": 200
}
]
}
]
}';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://vision.googleapis.com/v1/images:annotate?key='.GOOGLE_CLOUD_VISION_KEY);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request_json);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($status != 200) {
die("Error: $status, response $json_response, curl_error " . curl_error($curl) . ', curl_errno ' . curl_errno($curl));
}
curl_close($curl);
echo '<pre>';
echo $json_response;
echo '</pre>';
Da Sie cURL nicht verwenden können, um eine Verbindung zu Google-Websites herzustellen. (Es ist eine Beschränkung der Remote-Socket-API) –