Я пытаюсь использовать Google API для определения местоположения, предоставляя данные Wi-Fi для определения местоположения. Это их intro . И это мой код
@author: Keith
"""
import requests
payload = {
"considerIp": "false",
"wifiAccessPoints": [
{
"macAddress": "00:25:9c:cf:1c:ac",
"signalStrength": -43,
"signalToNoiseRatio": 0
},
{
"macAddress": "00:25:9c:cf:1c:ad",
"signalStrength": -55,
"signalToNoiseRatio": 0
}
],
'key':'<MyAPIKey>'
}
r = requests.post('https://www.googleapis.com/geolocation/v1/geolocate',
params=payload)
print(r.text)
Это вывод
{
"location": {
"lat": 32.3643098,
"lng": -88.703656
},
"accuracy": 6061.0
}
Запрос игнорировал всю полезную нагрузку, кроме ключевой части, и только что обнаружил геолокацию, используя мой IP-адрес. Поэтому я отправляю данные JSON неправильно. Я знаю, что это, вероятно, действительно просто, но я застрял и не смог найти пример использования python с запросами для выполнения этого типа запроса API. Спасибо
Edit:
Подобрал библиотеку cURL и успешно выполнил эту команду:
curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=<myapikey>"
и получил результат, который я ожидал. Я просто хочу иметь возможность делать то же самое в запросах, но данные, которые я пытаюсь отправить, находятся в "your_filename.json".