Как правильно отправлять POST-запросы в API Trafficstats TOMTOM? - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь заставить API-трафик TOMTOM работать и не получить ожидаемый ответ.Я использую Postman для генерации запроса POST на https://{{baseURL}}/traffic/trafficstats/routeanalysis/{{versionNumber}}?key={{apiKey}}

Я установил versionNumber = 1 и ключ = 'мой ключ доступа TOMTOM'.В документации сказано, что baseURL должен быть api.tomtom.com, но я получаю ответ «разработчик неактивен», когда это делается.Однако, если я использую baseURL = 'move.tomtom.com', я получаю html-ответ.

Я отправляю следующее тело, пытаясь получить исторические данные о трафике на улице в Сан-Франциско:

{
    "jobName":"Test job",
    "distanceUnit":"MILES",
    "routes":[
        {
            "name":"The Embarcadero",
            "start":{
                "latitude":37.794672,
                "longitude":-122.393938
            },
            "via":[
                {
                    "latitude":37.783319,
                    "longitude":-122.388037
                    }
            ],
            "end":{
                "latitude":37.775170,
                "longitude":-122.395783
            },
            "fullTraversal":false,
            "zoneId":"UTC",
            "probeSource":"ALL"
        }
    ],
    "dateRanges":[
        {
            "name":"First day of November",
            "from":"2010-11-01",
            "to":"2010-11-01"
        }
    ],
    "timeSets":[
        {
            "name":"Monday morning hour",
            "timeGroups":[
                {
                    "times":[
                        "7:00-8:00"
                    ]
                }
            ]
        }
    ]
}

«Content-Type» моего заголовка запроса имеет значение «application / json».

Я получаю следующий html-ответ.Я не вижу ожидаемых данных JSON в теле HTML.Есть идеи, что я делаю неправильно?

 <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
        <title>TomTom Move</title>
        <base href="/" />
        <link rel="shortcut icon" href="/favicon.png">
        <link href="/css/styles.1337aa094afbb0bd778a.css" rel="stylesheet">
        <link rel="preload" href="/js/styles.7c8029e7a8f45b1dd768.js" as="script">
        <link rel="preload" href="/js/main.2d6a744cf686a687271d.js" as="script">
        <link rel="preload" href="/js/vendors~main.0c1946201ec04090e7a7.js" as="script">
        <link rel="prefetch" href="/js/styles.7c8029e7a8f45b1dd768.js">
        <link rel="prefetch" href="/js/main.2d6a744cf686a687271d.js">
        <link rel="prefetch" href="/js/vendors~main.0c1946201ec04090e7a7.js">
    </head>
    <body>
        <div id="app"></div>
        <!-- Tealium script -->
        <script type="text/javascript">
        (function (a, b, c, d) {
            a = '//tags.tiqcdn.com/utag/tomtom/move/prod/utag.js';
            b = document; c = 'script'; d = b.createElement(c); d.src = a; d.type = 'text/java' + c; d.async = true;
            a = b.getElementsByTagName(c)[0]; a.parentNode.insertBefore(d, a);
        })();
    </script>
        <script type="text/javascript" src="/js/styles.7c8029e7a8f45b1dd768.js"></script>
        <script type="text/javascript" src="/js/main.2d6a744cf686a687271d.js"></script>
        <script type="text/javascript" src="/js/vendors~main.0c1946201ec04090e7a7.js"></script>
    </body>
</html>

1 Ответ

0 голосов
/ 15 февраля 2019

TrafficStats не является публичным API.Поэтому, если у вас нет соглашения с TomTom, у вас нет доступа к этому API.Для такого рода вопросов лучше обратиться к TomTom напрямую.

А действительный baseUrl для API TomTom - api.tomtom.com

...