Google Places API使用UTL_HTTP返回404错误

时间:2014-05-07 08:31:39

标签: oracle api rest plsql google-places-api

我目前正在尝试使用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

了解更多信息:

  • 我是使用PLSQL从oracle服务器调用它。
  • 这是为了批量处理地址以清理地址
  • 我使用places api来处理那些可能只有建筑物名称而不是街道地址的垃圾地址

0 个答案:

没有答案