【发布时间】:2023-03-18 06:18:01
【问题描述】:
我正在尝试从 R 中直接连接到 BI 工具的 API。API 文档列出了下面的 curl 命令以获取身份验证令牌:
curl -X POST -H "Content-Type: application/json" -d
'{
"email": "your@email.com",
"password": "your_password"
}'
https://app.datorama.com/services/auth/authenticate
此外,以下是可用于查询数据的 JSON 查询示例:
{
"brandId": "9999",
"dateRange": "CUSTOM",
"startDate": "2016-01-01",
"endDate": "2016-12-31",
"measurements": [
{
"name": "Impressions"
}
],
"dimensions": [
"Month"
],
"groupDimensionFilters": [],
"stringDimensionFilters": [],
"stringDimensionFiltersOperator": "AND",
"numberDimensionFiltersOperator": "AND",
"numberMeasurementFilter": [],
"sortBy": "Month",
"sortOrder": "DESC",
"topResults": "50",
"groupOthers": true,
"topPerDimension": true,
"totalDimensions": []
}
我正在尝试 1)将上面的 curl 命令翻译成 R 以获得所需的身份验证令牌,以及 2)通过上面的 JSON 脚本查询数据。
到目前为止,我已尝试使用httr 库,如下所示:
library(httr)
r <- POST('https://app.datorama.com/services/auth/authenticate',
body = list(
brandId = "9999",
dateRange = "CUSTOM",
measurements = list(name="Impressions"),
dimensions = list(name="Month"),
startDate = "2016-01-01",
endDate = "2016-12-31"
),
encode = "json",
authenticate("username", "password"))
无济于事。
API 文档位于受密码保护的页面后面,因此我无法链接它。如果需要其他信息,请告诉我。
【问题讨论】:
-
您用来尝试获取身份验证令牌的 R 代码在哪里?
-
试试 curlconverter 包。它可以将命令行 curl 代码转换为 R 表达式。