我正在尝试使用TomTom API检索有关路线时间的信息。
通过提供 API url、API 密钥(您可以通过注册获得)以及源和目的地纬度/经度,我想返回旅行时间。
我以为我从响应中获得了字典字典,并且应该能够使用 - jsonTomTomString['routes']['summary']['travelTimeInSeconds'] 访问数据
但我越来越...
TypeError:列表索引必须是整数,而不是 str
我的代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import ConfigParser
import requests
import json
import sys
import time
import datetime
from urllib import urlopen
# URL to the tomtom api
apiURL = "https://api.tomtom.com/routing/1/calculateRoute/"
# apiKey
apiKey = "get this from link in description"
#[coordinates]
sourceLat = 51.5560241
sourceLon = -0.2817075
destLat = 53.4630621
destLon = -2.2935288
tomtomURL = "%s/%s,%s:%s,%s/json?key=%s" % (apiURL,sourceLat,sourceLon,destLat,destLon,apiKey)
getData = urlopen(tomtomURL).read()
jsonTomTomString = json.loads(getData)
totalTime = jsonTomTomString['routes']['summary']['totalTimeSeconds']
print ("time to destination is: ", totalTime)
JSON 响应看起来像这样......
TomTom 无法根据其收集的信息识别您的身份,也不会尝试这样做。TomTom 将这些信息用于技术诊断、检测欺诈和滥用行为、创建使用报告以及改进其服务。信息仅出于这些目的而保留一段有限的时间,之后将被销毁。TomTom 采用基于行业标准的安全方法来保护信息免遭未经授权的访问。TomTom 不会让任何其他人访问该信息或将其用于任何其他目的,除非按照正当法律程序明确和合法地要求这样做。您可以在以下位置了解更多信息 创建使用报告,并改进其服务。信息仅出于这些目的而保留一段有限的时间,之后将被销毁。TomTom 采用基于行业标准的安全方法来保护信息免遭未经授权的访问。TomTom 不会让任何其他人访问该信息或将其用于任何其他目的,除非按照正当法律程序明确和合法地要求这样做。您可以在以下位置了解更多信息 创建使用报告,并改进其服务。信息仅出于这些目的而保留一段有限的时间,之后将被销毁。TomTom 采用基于行业标准的安全方法来保护信息免遭未经授权的访问。TomTom 不会让任何其他人访问该信息或将其用于任何其他目的,除非按照正当法律程序明确和合法地要求这样做。您可以在以下位置了解更多信息 除非经过正当法律程序明确和合法地要求这样做。您可以在以下位置了解更多信息 除非经过正当法律程序明确和合法地要求这样做。您可以在以下位置了解更多信息http://tomtom.com/privacy。您可以通过访问 http://tomtom.com/support联系 TomTom 。","routes":[{"summary":{"lengthInMeters":326856,"travelTimeInSeconds":13018,"trafficDelayInSeconds":818,"departureTime ":"2018-01-08T17:10:31Z","arrivalTime":"2018-01-08T20:47:28Z"},"legs":[{"summary":{"lengthInMeters":326856,"travelTimeInSeconds ":13018,"trafficDelayInSeconds":818,"departureTime":"2018-01-08T17:10:31Z","arrivalTime":"2018-01-08T20:47:28Z"},"points":[{"纬度":51.55598,"经度":-0.28216},{"纬度":51.55601,"经度":-0.28292},{"纬度":51.55602,"
感谢您帮助我们完成这项工作。