我已经将 Google Cloud Vision api 与托管在私有 VPS 上的 php 应用程序一起使用了一段时间,没有出现任何问题。我正在将该应用程序迁移到 Google AppEngine,现在遇到了问题。
我正在使用 CURL 发布到 API,但它在 AppEngine 上失败了。我启用了计费,其他 curl 请求正常工作。有人提到对 googleapis.com 的调用在 AppEngine 上不起作用,我需要以不同的方式访问 API。我无法在网上找到任何资源来确认这一点。
下面是我的代码,返回 CURL 错误 #7,无法连接到主机。
$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>';