Попытка объяснить следующее с помощью абзаца в комментарии была бы болезненной, поэтому взгляните на:
api_url <- "https://api.thomsonreuters.com/permid/match/file"
records <- "C:\\Users\\U6028364\\Downloads\\Organization_input_template_with_examples.csv"
httr::POST(
url = api_url,
body = list(
addressFile = httr::upload_file(records),
),
encode = "multipart"
) -> resp
httr::stop_for_status(resp)
get_data <- content(resp, "text")
единственное реальное изменение заключается в том, что вам нужно использовать параметр encode
(также, вы пропустили "
в своем коде вопроса).
У меня нет доступа к TR API, поэтому я не могу проверить это.Однако https://docs -developers.thomsonreuters.com / 1544617757924/45690 / wwhelp / wwhimpl / js / html / wwhelp.htm # href = PermID% 20Service / PermID% 20APIs% 20User% 20Guide.1.20.html ** говорит, что это командная строка curl
, чтобы делать то, что вы пытаетесь сделать:
curl -X POST https://api.thomsonreuters.com/permid/match/file
-H "Content-Type: multipart/form data"
-H "x-openmatch-numberOfMatchesPerRecord: 1"
-H "x-openmatch-datatype: Organization"
-H "X-AG-Access-Token: <token>"
-F file=@OrgRecords.csv
В этом случае вы упускаете некоторые вещи, а также используете неправильный body
, так чтоможет работать лучше:
httr::POST(
url = api_url,
httr::add_headers(
`X-AG-Access-Token` = "YOUR_ACCESS_TOKEN_WHICH_YOU_RLY_SHLDNT_PUT_DIRECTLY_IN_R_SCRIPTS"
)
body = list(
file = httr::upload_file(records)
),
encode = "multipart"
) -> resp
Понятия не имею, требуются ли другие заголовки "openmatch".