0

Google プレイスにプレイスを追加するための PHP コードがいくつかありますが、REQUEST_DENIED エラーが返され、理由がわかりません。

        $data = array(
        "location" => array("lat"=>floatval(trim($latlng[1])),"lng"=>floatval($latlng[0])),
        "accuracy" => 50,
        "name" => urlencode($edtName),
        "types" => array(urlencode($cmbType[0]))
        );
        echo "sending to google:<br>";
        echo json_encode($data);
        $ch = curl_init();
        $post_values = json_encode( $data );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_URL, 'https://maps.googleapis.com/maps/api/place/add/json?sensor=false&key=xxx');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_VERBOSE, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_values);
        $data = curl_exec($ch);
        if(!curl_errno($ch))
        {
          echo 'Received raw data' . $data;
        }

Google APIキーを確認し、「ブラウザアプリのキー(リファラー付き)」と「サーバーアプリのキー(IPロック付き)」の両方のタイプを試しましたが、どちらも同じ結果でした

リクエストが拒否された理由に関する詳細情報を取得する方法はありますか? 場所が間違っているか、キーが間違っていますか?

これは、Google に送信されるデータです。

{"location":{"lat":4.63762250793,"lng":51.148788446},"accuracy":50,"name":"Binnenspeeltuin+Het+Fort%2C+Kessel","types":["amusement_park"]}
4

1 に答える 1

1

あなたのアドバイスをありがとう、私は最終的に私が間違っていたことを発見しました:

Google の「サーバー アプリのキー (IP ロックあり)」の定義で、サーバーの IP アドレスを入力しました。この鍵はそのサーバーからしか使えないというエクストラセキュリティかと思っていたのですが、クライアントのIPチェッカーです。

だから私はIPエリアをクリアし、今では正常に動作します

ありがとう

于 2012-09-12T07:16:06.720 に答える