我如何做到这样我只需要引用一次我的 api 密钥?

肖恩·乌尔巴斯克

我正在自学如何使用 python 和 django 访问谷歌地点 api,以便在附近搜索不同类型的健身房。

我只教过如何将 python 和 django 与您在本地构建的数据库一起使用。

我为他们正在做的四种不同的搜索写了一个完整的 Get 请求。我查了一些例子,但似乎没有一个对我有用。

allgyms = requests.get('https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=38.9208,-77.036&radius=2500&type=gym&key=AIzaSyDOwVK7bGap6b5Mpct1cjKMp7swFGi3uGg')
all_text = allgyms.text
alljson = json.loads(all_text)

healthclubs = requests.get('https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=38.9208,-77.036&radius=2500&type=gym&keyword=healthclub&key=AIzaSyDOwVK7bGap6b5Mpct1cjKMp7swFGi3uGg')
health_text = healthclubs.text
healthjson = json.loads(health_text)

crossfit = requests.get('https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=38.9208,-77.036&radius=2500&type=gym&keyword=crossfit&key=AIzaSyDOwVK7bGap6b5Mpct1cjKMp7swFGi3uGg')
cross_text = crossfit.text
crossjson = json.loads(cross_text)

我真的很想指出如何在更改关键字时只引用一次 api 密钥的正确方向。

用户158

试试这个以获得更好的可读性和更好的可重用性

BASE_URL = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?'
LOCATION = '38.9208,-77.036'
RADIUS = '2500'
TYPE = 'gym'
API_KEY = 'AIzaSyDOwVK7bGap6b5Mpct1cjKMp7swFGi3uGg'
KEYWORDS = ''

allgyms = requests.get(BASE_URL+'location='+LOCATION+'&radius='+RADIUS+'&type='+TYPE+'&key='+API_KEY) all_text = allgyms.text 
alljson = json.loads(all_text)

KEYWORDS = 'healthclub'
healthclubs = requests.get(BASE_URL+'location='+LOCATION+'&radius='+RADIUS+'&type='+TYPE+'&keyword='+KEYWORDS+'&key='+API_KEY) 
health_text = healthclubs.text 
healthjson = json.loads(health_text)


KEYWORDS = 'crossfit'
crossfit = requests.get(BASE_URL+'location='+LOCATION+'&radius='+RADIUS+'&type='+TYPE+'&keyword='+KEYWORDS+'&key='+API_KEY) 

cross_text = crossfit.text 
crossjson = json.loads(cross_text)

正如 VR 在评论中建议的那样,您可以进一步定义功能,这使事情更可重用,从而允许您在应用程序的其他地方使用该功能

功能实现

def makeRequest(location, radius, type, keywords):
    BASE_URL = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?'
    API_KEY = 'AIzaSyDOwVK7bGap6b5Mpct1cjKMp7swFGi3uGg'
    result = requests.get(BASE_URL+'location='+location+'&radius='+radius+'&type='+type+'&keyword='+keywords+'&key='+API_KEY)
    jsonResult = json.loads(result)
    return jsonResult

函数调用

json = makeRequest('38.9208,-77.036', '2500', 'gym', '')

让我知道是否有问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何隐藏我的Dropbox API密钥

我需要几个Google Maps API密钥?

使用API密钥保护我的API

我应该如何从前端访问我的 API 密钥?

如何做到这一点,以便我可以在 javascript 中一次执行 10 个承诺,以防止对 api 调用进行速率限制?

如何在API GET请求中插入我的API密钥?

推送到GitHub时需要保护我的API密钥吗?

如何轮换 Firebase 的 API 密钥?

如何获取 Kubernetes API 密钥?

如何使用 osticket API 密钥

如何获取CyberArk的API密钥?

如何保护Google API密钥

如何获得Mandrill API密钥?

如何使用openweathermap API密钥?

如何使用API密钥保护REST API

Google Cloud,如何获取API密钥和我的访问令牌?

LibCrypt如何使用低级API获取我生成的公共密钥

如何保护我的WebAPI免受滥用并避免共享API密钥?

如何在我的Android应用中使用REST API密钥?

如何保护我的Kloudless API密钥和帐户ID?

Behance API不允许我创建API密钥

我想重命名我的json密钥,从api调用获取

我是否需要启用 Google Map API 密钥以及如何在 2017 中嵌入它?

如何使来自angular js的API调用更加安全。我们需要传递一些密钥吗?

SafetyNet认证是否需要api密钥?

确实需要Google API密钥吗?

使用需要会话 api 密钥的 .NET Minimal API 创建 API

如何以编程方式设置Google API密钥?我收到“请求缺少有效的API密钥。” 错误(403)

如何设置我的API以要求具有Amazon API Gateway的API密钥?