使用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 数据格式化

在调查猴子中包括图像

SurveyMonkey API v3 创建消息,返回错误:“用户没有发出此请求所需的计划”

SurveyMonkey:无法使用 OAuth 访问令牌

在 Rails 中发送电子邮件通讯/调查

发送 SMTP 电子邮件会阻止 HTTP 请求