2017-07-18 76 views
0

我们在surveymonkey中进行了一项调查,并使用c#尝试使用surveymonkey api将该电子邮件地址添加到调查中。 api对GETS工作正常,但我们还没有得到POST的工作。所有我们得到的回复是使用surveymonkey api发送电子邮件到调查

“文档”: “https://developer.surveymonkey.com/api/v3/#error-codes”, “消息”: “有一个错误检索请求的资源。”, “ID”: “1020”, “名”:“资源未找到“, ”http_status_code“:404

所有的ID都是正确的,因为我们可以获取有关调查的信息,但无法发布到它。我们已经批准了所有的范围,所以不应该有这方面的限制或限制。 SurveyMonkey api支持可能不存在,因为它们完全浪费时间,无法回答有关其api的单个问题。

下面的代码是我们最近尝试使用POST调用api的方法。我们把实际的id放在了uri而不是{id}中,因为显而易见的原因,我没有在这里包含id。

使用(VAR客户=新的HttpClient()){ 变种 URI =新URI( “https://api.surveymonkey.net/v3/surveys/ {ID} /收集器/ {ID} /消息/ {ID} /收件人-d”); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”,ConfigurationManager.AppSettings [“SurveyMonkeyAccessToken”]); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”)); var content = new StringContent(“{\”email \“:+”+ emailAddress +“}”,Encoding.UTF8,“application/json”); var response = client.PostAsync(uri,content); ParseSurveyPostResponses(回复) }

任何人都成功地使用他们的V3 api发布surveymonkey调查?

+0

你可以发布你打的实际'Url'吗? 'id = 1020'可能是你的问题的线索。 – JuanR

+0

https://developer.surveymonkey.com/api/v3/#error-codes – lockforward

+0

的错误代码的URL显示了存在于ID 1020,这只是一个一般性错误,不给太多的提示,中为什么api会出来。谢谢 – lockforward

回答

0

你究竟想要做什么?您是否尝试创建电子邮件收藏夹?您是否试图在该电子邮件收集器上创建新消息? 您是否试图将收件人添加到该电子邮件?你想发送电子邮件吗?

Creating an email collector

POST /v3/<survey_id>/collectors 
{ 
    "type": "email" 
} 

Adding a message到电子邮件收集:

POST /v3/collectors/<collector_id>/messages 
{ 
    "type": "invite" 
} 

Add recipients的消息:

POST /collectors/<collector_id>/messages/<message_id>/recipients 
{ 
    "email": "[email protected]", 
    "first_name": "Test", 
    "last_name": "Example", 
    "custom_fields": { 
     "1": "First Value", 
     "2": "Second Value", 
     "3": "Third Value" 
    }, 
    "extra_fields": { 
     "field_name1": "field_value1", 
     "field_name2": "field_value2" 
    } 
} 

注意:您还可以add recipients in bulk

注意2:自定义字段存储在联系人列表的关联联系人中,额外字段仅存储在该邮件的收件人中,并且只能通过API访问。

Sending了电子邮件:

POST /v3/collectors/<collector_id>/messages/<message_id>/send 
{ 
    "scheduled_date": "2017-07-18T16:52:22" 
} 

注意:您可以排除scheduled_date,只是在发送给{}发送消息的时候了。

+0

我们正试图将收件人添加到现有的电子邮件收藏夹。一旦我们添加了收件人,我们将发布一个发送。我们想包括一个自定义字段。你会不会碰巧收到包含电子邮件,名字和姓氏以及自定义字段的收件人? – lockforward

+0

我更新我的回答有一些更多的信息 –

+0

感谢,我得到“提供的身体是不是一个合适的JSON字符串”只要我有什么,但电子邮件,姓和名.. – lockforward

相关问题