【问题标题】:How to consume here.com's REST api service如何使用 here.com 的 REST api 服务
【发布时间】:2015-10-19 08:59:54
【问题描述】:

有人试过用here.com的rest api吗? 我正在尝试运行示例请求,但没有任何反应。我是 REST 新手,所以我对这个问题一无所知。如果将 $url 直接插入浏览器地址文本框,则会显示图像,但下面代码中的 curl 函数不会检索任何内容,或者看起来如此。

$url = "http://image.maps.cit.api.here.com/mia/1.6/route?app_id=redacted&app_code=redacted&r0=52.5338,13.2966,52.538361,13.325329&r1=52.540867,13.262444,52.536691,13.264561,52.529172,13.268337,52.528337,13.273144,52.52583,13.27898,52.518728,13.279667&m0=52.5338,13.2966,52.538361,13.325329&m1=52.540867,13.262444,52.518728,13.279667&lc0=440000ff&sc0=440000ff&lw0=6&lc1=44ff00ff&sc1=44ff00ff&lw1=3";

$ch = curl_init($url);
$options = array(
            CURLOPT_CONNECTTIMEOUT => 20 ,
            CURLOPT_AUTOREFERER => true,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_RETURNTRANSFER => true,
           );

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$result = json_decode($response);
echo "response: <br>";
echo "<br>";
echo "result: <br> " . $result;
curl_close($ch);

【问题讨论】:

  • 您是否收到错误消息?你试过调试吗?
  • 没有错误信息。只是空白。调试正常运行代码..
  • 我得到了一个 401 代码来寻址到 url。您是否已经过身份验证并有权请求?
  • 我做到了。 Stackoverflow 不会让我发布我的 appid 和 appcode,所以你得到了那个错误.. 但是如果我可以在 curl 响应中显示那个错误,这已经意味着它正在工作.. 问题可能是我可能使用的是 GET 而不是POST.. 我还是不知道哪个是默认的

标签: javascript php rest curl soap


【解决方案1】:

我最终发现了错误。这是我发布的使用 here.com REST api 的工作示例,以便处于相同情况的任何人都可以查看它。问题是查询字符串的构造不正确,因为我只是从浏览器复制并粘贴了它。如果有人遇到同样的问题,我建议查看文档here..

$base_url = 'http://image.maps.cit.api.here.com'; 
$path = '/mia/1.6/';
$resource = 'route';    // type of service... this should change if you want something else

$query_string = array(
    'app_id'    => 'XXXXXXXXXXXXXXXXXXXXXX',  //your app id
    'app_code'  => 'XXXXXXXXXXXXXXXXXXXXXX',  // your app code
    'r0'        => '52.540867,13.262444,52.536691,13.264561,52.529172,13.268337,52.528337,13.273144,52.52583,13.27898,52.518728,13.279667', // coords for the route
    'lw'        => '4',   // line width
    'lc'        => '00ff00',  // line color
);

$url = $base_url . $path.$resource . '?' . http_build_query($query_string);
$img_file = './img/test_img2.jpg';  // save image here

$ch = curl_init($url);
$fp = fopen($img_file, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

?>

<img src='<?php echo $img_file;?>'>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多