如何在Python中执行此REST API调用?

时间:2018-12-12 10:22:41

标签: python rest api python-requests

我正在努力使用requests软件包在Python中正确执行此REST API调用。

curl --user aa43ae0a-a7a7-4016-ae96-e253bb126aa8:166291ff148b2878375a8e54aebb1549 \
  --request POST --header "Content-Type: application/json" \
  --data '{ "startDate": "2016-05-15" , "endDate": "2016-05-16", "format": "tsv", "dataset": "appStart" }' \
  https://analytics.cloud.unity3d.com/api/v2/projects/aa43ae0a-a7a7-4016-ae96-e253bb126aa8/rawdataexports

我不知道如何设置以下参数:

r = requests.post("https://analytics.cloud.unity3d.com/api/v2/projects/aa43ae0a-a7a7-4016-ae96-e253bb126aa8/rawdataexports", ...)

我们将不胜感激,在此先感谢您。

1 个答案:

答案 0 :(得分:1)

类似的事情应该可以完成:

auth = HTTPBasicAuth('aa43ae0a-a7a7-4016-ae96-e253bb126aa8', '1662[....]549')
payload = {
    "startDate": "2016-05-15" ,
    "endDate": "2016-05-16",
    "format": "tsv",
    "dataset": "appStart",
}
url = "https://analytics.cloud.unity3d.com/api/v2/projects/aa43ae0a-a7a7-4016-ae96-e253bb126aa8/rawdataexports"
result = requests.post(url, json=payload, auth=auth)
  1. 身份验证:curl comand的--user参数允许设置bitPattern
  2. --data是JSON负载,而请求的内容类型(通过标头)配置为Content-Type: application/json。使用requests HTTP Basic Auth进行简化。有效负载将转换为json,并将正确的标头添加到请求中以检索包含json数据的响应。

请注意!。在您的问题中,您提供了用于调用此REST API的用户/密码。如果此信息是真实信息,则将其发布到Stack Overflow上可能是一个安全问题!