2

私はしばらく問題なく、プライベート VPS でホストされている php アプリで Google Cloud Vision API を使用しています。アプリを Google AppEngine に移行していますが、現在問題が発生しています。

API への CURL ポストを使用していますが、AppEngine で失敗しています。課金を有効にしており、他の curl リクエストは問題なく動作します。AppEngine では googleapis.com への呼び出しが機能しないため、別の方法で 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>';
4

2 に答える 2