与Zendesk API通信时,我无法将cURL请求转换为httr发布请求。 我已经成功地从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'
)
我已经反复调查了Stack Overflow和其他消息来源,但是到目前为止,还没有发现适用于我的问题的情况。
谢谢。
答案 0 :(得分: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": "example@subdomain.com", "language": "en-US"}]}}'
,encode='json'
)