我目前正在尝试使用Google地图API和Google Places API对地址进行地理编码。我使用UTL_HTTP.begin_request来发送两个api 但是,我从地方api得到404错误,但我可以从谷歌地图api地理编码得到结果。下面是调用api
的utl_http的片段 UTL_HTTP.SET_PROXY (v_proxy);
--SSL certIFication for google API
UTL_HTTP.SET_WALLET (v_walletLoc, v_walletPass);
--SET CHARSET for proper chinese results
UTL_HTTP.SET_BODY_CHARSET ('AL32UTF8');
req := UTL_HTTP.begin_request (v_url, 'GET', 'HTTP/1.1');
UTL_HTTP.SET_HEADER (req, 'Content-Type', 'text/xml');
--response of API call AKA results
BEGIN
DBMS_LOB.createtemporary (v_xml, FALSE);
resp := UTL_HTTP.get_response (req);
putLine('RESPONSE CODE: ' || resp.status_code);
LOOP
--insert results into v_txt
UTL_HTTP.read_text (resp, v_text, 32767);
v_xml := v_xml || v_text;
END LOOP;
EXCEPTION
WHEN UTL_HTTP.END_of_body THEN
UTL_HTTP.END_response (resp);
END;
进入地方api的utl_http的网址是
https://maps.googleapis.com/maps/api/place/textsearch/xml?query=PRINCE+EDWARD+road&sensor=false&key=<My key>
我得到的回复是一个html页面,告诉我404错误。找不到请求的URL。 如果我要输入如下所示的谷歌地理编码网址,我会以xml的形式获得我想要的结果。
https://maps.googleapis.com/maps/api/geocode/xml?address=PRINCE+EDWARD+road+WEST+MONG+KOK&sensor=false
了解更多信息: