Как правильно взять координаты GoogleMaps и опубликовать их в Webhook, используя python 3 и json? - PullRequest
0 голосов
/ 14 января 2019

ГЕОКОДИРОВАНИЕ И РАЗМЕЩЕНИЕ ФАЙЛОВ JSON В ВЕБ-КНИГУ

Для начала, мое задание - это автоматическая программа, которая позволяет пользователю вводить адрес и возвращать широту и долготу с помощью googlemaps API (в основном, геокодирование), затем программа отправляет координаты в webhook в формате json на веб-сайте. называется Datazar.

ЧТО ТАКОЕ КОНЦЕПЦИЯ

Идея состоит в том, что вместо того, чтобы использовать curl для отправки файлов json с терминала, я пытаюсь отправить файл json через python, даже не выходя из программы, что делает его полностью автоматизированным. Мне удалось получить координаты широты и долготы с помощью API googlemaps и запустить его через терминал в Python 3.

Проблема начинается, когда я использую модуль json и request для отправки координат в webhook. Я не уверен, что мой код отформатирован правильно.

Это попытка, которую я пытался опубликовать с помощью json:

I assigned the lat and long to a variable.

coordinates = geocode_result['geometry']['location']

url = 'https://webhooks.datazar.com/w69017d25-f1b9-4372-8e6f- 
15a4637ad94a'

requests.post(url, json=coordinates)

Это весь код. (Я забрал ключ API для очевидные причины.)

import googlemaps

import requests

import json

api_key = "<googleapikey>"
gm = googlemaps.Client(key=api_key)

address = input("Please enter the address: ")

geocode_result = gm.geocode(address)[0]

print("The Latitude and Longitude are now posted to your 
webhook." )
coordinates = geocode_result['geometry']['location']

url = 'https://webhooks.datazar.com/w69017d25-f1b9-4372-8e6f- 
15a4637ad94a'

requests.post(url, json=coordinates)

Каждый раз, когда я запускаю программу через терминал, я получаю сообщение об ошибке:

Traceback (последний вызов был последним): Файл "datazargeocode.py", строка 21, в

requests.post(url, json=coordinates) 

Файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", строка 116, в сообщении возврат

request('post', url, data=data, json=json, **kwargs)

Файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", строка 60, по запросу возврат

session.request(method=method, url=url, **kwargs)

Файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", строка 533, в запросе

resp = self.send(prep, **send_kwargs)

Файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", строка 646, в отправке

r = adapter.send(request, **kwargs)

Файл "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", строка 516, в отправке

raise ConnectionError(e, request=request)
...