Преобразование cURL в httr в R

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

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

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

curl https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/invitations.json  -d '{"invitation": {"recipients": [{"name": "Ed C", "email": "[email protected]", "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": "[email protected]", "language": "en-US"}]}}'
          ,encode='json'
)

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

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


person Ed Cunningham    schedule 27.06.2018    source источник


Ответы (1)


После долгих проб и ошибок мне удалось решить проблему, добавив '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": "[email protected]", "language": "en-US"}]}}'
              ,encode='json'
    )
person Ed Cunningham    schedule 03.07.2018