使用surveymonkey api向调查发布电子邮件
Posted
技术标签:
【中文标题】使用surveymonkey api向调查发布电子邮件【英文标题】:post an email to a survey using the surveymonkey api 【发布时间】:2017-12-23 14:14:11 【问题描述】:我们在surveymonkey 中进行了一项调查,并使用c# 尝试使用surveymonkey api 将电子邮件地址添加到调查中。该 api 适用于 GETS,但我们还没有让 POST 工作。我们得到的只是
"docs": "https://developer.surveymonkey.com/api/v3/#error-codes", "message": "检索请求的资源时出错。", “id”:“1020”, "name": "资源未找到", “http_status_code”:404
所有的 id 都是正确的,因为我们可以获取有关调查的信息,但不能发布到它。我们已经授予了所有范围,因此不应该在这方面有限制或限制。 SurveyMonkey api 支持也可能不存在,因为它们完全是浪费时间,并且无法回答有关其 api 的单个问题。
下面的代码是我们最近一次尝试通过 POST 调用 api。我们将实际的 id 放在 uri 中,而不是 id 出于显而易见的原因,我没有在此处包含我们的 id。
使用 (var client = new HttpClient()) var uri = new Uri("https://api.surveymonkey.net/v3/surveys/id/collectors/id/messages/id/recipients-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 调查?
【问题讨论】:
您可以发布您实际点击的Url
吗? id=1020
可能是您的问题的线索。
developer.surveymonkey.com/api/v3/#error-codes
错误代码的 url 显示了 id 1020 的内容。这只是一个通用错误,并没有提供太多关于 api 为何会出错的提示。谢谢
听起来你使用了错误的 URL 来发帖。
【参考方案1】:
你到底想做什么?您是否正在尝试创建电子邮件收集器?您是否尝试在该电子邮件收集器上创建新消息? 您是否尝试向该电子邮件添加收件人?您要发送电子邮件吗?
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": "test@example.com",
"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
,只需发送 即可立即发送消息。
【讨论】:
我们正在尝试将收件人添加到现有的电子邮件收集器。一旦我们添加了收件人,我们将发布一个发送。我们想包括一个自定义字段。您不会碰巧收到包含电子邮件、名字和姓氏以及自定义字段的收件人的邮政电话吗? 谢谢,只要我包含除电子邮件、名字和姓氏以外的任何内容,我就会收到“提供的正文不是正确的 JSON 字符串”。 另外,只要我向收集器添加电子邮件,它就会关闭它。我可以为我发送的每封电子邮件创建一个收集器,但很快就会有数百个 它不应该关闭收集器,但您需要一条新消息来邀请更多收件人。您可以继续使用同一个收集器。 我的帖子字符串 "email": kc.604@gmail.com","first_name": "Kevin & Branda","last_name": "Collins","custom_fields": "" 1": "04900000001","extra_fields": ""field_name1": ""以上是关于使用surveymonkey api向调查发布电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pandas 的 SurveyMonkey 数据格式化