将 Google Maps API 密钥添加到 Python 程序

问题描述

我正在尝试获取 A 点和 B 点之间路线的 Google 街景图像,并将它们制作成视频。

我找到了 this 存储库,它完全符合我的要求。作者提到:

最后,也是最棘手的一点:代码需要用于 Google Map 的街景和路线 API 的 API 密钥。注意:设置街景 API 现在需要一个计费帐户!对于少量流量,它往往是免费的,但无论如何您都必须进行设置。

我设法设置了 Google Maps API 密钥,并且按照 Google 网站 here 的说明,我能够查询表

https://maps.googleapis.com/maps/api/streetview?size=400x400&location=47.5763831,-122.4211769
&fov=80&heading=70&pitch=0&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

并获得我想要的图像。

现在,在 Python 代码中,有一个文件 street_crawl.py,其中包含以下代码

import sys
from utils import *
from API_KEYS import API_KEY_DIRECTIONS,API_KEY_STREETVIEW

'''Google Street View Movie Maker
Usage is:
    python2 ./street_crawl.py lat1 lon1 lat2 lon2 output_filestem
For example,to make a one-second video of the entrance of Joshua Treet National Park:
    python2 ./street_crawl.py 33.669793 -115.802125 33.671796 -115.801851 joshua_tree
Note: usage requires your own API keys.
'''

def main(lat_lon_A,lat_lon_B,filestem,picsize):
    print "Tracing path from ({0}) to ({1})".format(lat_lon_A,lat_lon_B)
    # Request driving directions from A to B
    gd = googlemaps.Client(key=API_KEY_DIRECTIONS)

我尝试运行给出的代码,但它给了我一个错误

ImportError: No module named API_KEYS

我的问题是 - 我如何在此处输入我自己的 API 密钥?我应该将最后一行替换为:

gd = googlemaps.Client(key="MY API KEY HERE")

并注释掉对 from API_KEYS import API_KEY_DIRECTIONS,API_KEY_STREETVIEW调用

或者我是否必须创建一个名为 API_KEYS 的模块(文件?)并在那里以某种特定格式添加我的密钥?

我是 Python 的新手,所以任何帮助将不胜感激。

谢谢。

解决方法

显然,该项目的想法是拥有一个 API_KEYS.py,您将在其中定义 API_KEY_DIRECTIONSAPI_KEY_STREETVIEW(即各个 API 的密钥)。他们应该更好地记录它。 请注意,此文件包含在 .gitignore of the project 中。

另外,仅供参考,有多种方法可以处理 [隐藏] 源代码中的 API 密钥 - 他们决定使用这种方法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...