Преобразование cURL в httr в R - PullRequest
0 голосов
/ 27 июня 2018

У меня проблемы с преобразованием запроса cURL в пост-запрос httr при обмене данными с API Zendesk. Я успешно извлек данные из API, но размещение сообщений пока проблематично.

Я разговаривал со службой поддержки Zendesk API, но, к сожалению, у них нет опыта работы с R, поэтому не могу сказать мне, неверен ли мой сценарий или нет.

Пример cURL, который я привел, выглядит следующим образом (заменена вся конфиденциальная информация):

curl https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/invitations.json  -d '{"invitation": {"recipients": [{"name": "Ed C", "email": "example@subdomain.com", "language": "en-US"}]}}' 
    -H "Content-Type: application/json" 
    -v -u {your_email}/token:{your_api_token} -X POST

Мои знания о cURL очень ограничены, но я считаю, что правильно связываюсь с API с помощью приведенного ниже сценария (опять же, заменена вся конфиденциальная информация):

r2 <- POST('https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survery_id}/invitations.json'
          ,add_headers(Authorization="Basic {api_key}")
          ,body  ='{"invitation": {"recipients": [{"name": "Ed C", "email": "example@subdomain.com", "language": "en-US"}]}}'
          ,encode='json'
)

Я неоднократно изучал переполнение стека, а также другие источники, но пока не нашел ситуации, применимой к моей проблеме.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 июля 2018

После долгих проб и ошибок мне удалось решить мою проблему, добавив 'content_type_json()'. Я не уверен на 100%, почему именно это сработало, поэтому, если кто-то хотел бы уточнить, я был бы признателен за ввод.

Полный код см. Ниже:

r2 <- POST('https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survery_id}/invitations.json'
              ,add_headers(Authorization="Basic {api_key}")
              ,content_type_json()
              ,body  ='{"invitation": {"recipients": [{"name": "Ed C", "email": "example@subdomain.com", "language": "en-US"}]}}'
              ,encode='json'
    )
...