4

我如何将以下 curl 命令从 Lyft api 转换为 http 接口请求(以便它们可以通过 web 执行,例如https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway ,+Mountain+View,+CA&key=YOUR_API_KEY )? 如果无法进行 http 请求翻译,我将如何在 R 中集成和处理这些 curl 命令?

 #Authentication code 
 curl -X POST -H "Content-Type: application/json" \
 --user "<client_id>:<client_secret>" \
 -d '{"grant_type": "client_credentials", "scope": "public"}' \
 'https://api.lyft.com/oauth/token'

 #Search query
 curl --include -X GET -H 'Authorization: Bearer <access_token>' \
 'https://api.lyft.com/v1/eta?lat=37.7833&lng=-122.4167'
4

3 回答 3

3

您好,您可以使用https://curl.trillworks.com/将 curl 命令转换为您选择的语言,或者您可以使用 lyft SDK(对于 Python,请使用https://pypi.python.org/pypi/lyft_rides)。

这是对应的Python版本

import requests

headers = {
    'Content-Type': 'application/json',
}

data = '{"grant_type": "client_credentials", "scope": "public"}'

requests.post('https://api.lyft.com/oauth/token', headers=headers, data=data, auth=('<client_id>', '<client_secret>'))

从此发布请求中,您将获得必须用于后续请求的访问令牌。

headers = {
    'Authorization': 'Bearer <access_token>',
}

requests.get('https://api.lyft.com/v1/eta?lat=37.7833&lng=-122.4167', headers=headers)

注意:我没有对此进行测试,因为我无法创建 lyft 开发者帐户,因此此处给出的代码可能会有一些细微的变化。

于 2017-08-22T06:09:28.480 回答
1

[全面披露:我是 Lyft 的开发人员倡导者] 我对 R 不是很熟悉,但是您能否使用本博文中描述的方法整合响应/调用?

https://www.r-bloggers.com/accessing-apis-from-r-and-a-little-r-programming/

于 2017-08-22T17:25:06.630 回答
0

ReqBin 可以自动将 Curl 命令转换为 HTTP 请求

此类请求的示例: 将 Curl 转换为 HTTP 请求

于 2020-10-14T18:19:43.717 回答