【问题标题】:How to enable multiple answers when creating a SurveyMonkey collector using the API?使用 API 创建 SurveyMonkey 收集器时如何启用多个答案?
【发布时间】:2025-11-23 18:35:02
【问题描述】:

我有一个应用程序,它使用“create_collector”API 方法为调查创建调查猴子收集器。这完美无缺。问题是它总是创建将“多个响应”设置为 false 的收集器。我需要通过 API 创建的收集器将“多个响应”设置为 true。 API 调用中似乎没有任何选项可以指定。

如何使用“create_collector”API 将“Multiple Responses”设置为 true?

这是我在 c# 中的代码:

class CollectorJSON
{
    public string type { get; set; }
    public string name { get; set; }
}

private string CreateCollectorURL = "https://api.surveymonkey.net/v2/collectors/create_collector?api_key={API_KEY_VALUE}";

public CollectorResponseJSONWrapper CreateCollector(string APIKey, string AccessToken, long SurveyId, string CollectorName)
    {
        _LastException = null;

        CollectorResponseJSONWrapper collectorRv = new CollectorResponseJSONWrapper();
        collectorRv.status = -1;

        try
        {
            string url = CreateCollectorURL.Replace("{API_KEY_VALUE}", APIKey);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";

            request.Headers.Add("Authorization", "bearer " + AccessToken);

            CollectorJSON collector = new CollectorJSON()
            {
                type = "weblink",
                name = CollectorName

            };

            CollectorJSONWrapper wrapper = new CollectorJSONWrapper()
            {
                survey_id = SurveyId.ToString(),
                collector = collector
            };

            string JSONData = JsonConvert.SerializeObject(wrapper);

            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] bytes = encoding.GetBytes(JSONData);

            request.ContentType = "application/json";
            request.ContentLength = bytes.Length;

            Stream rstream = request.GetRequestStream();
            rstream.Write(bytes, 0, bytes.Length);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            string responseBody = string.Empty;

            using (var reader = new StreamReader(response.GetResponseStream(), ASCIIEncoding.ASCII))
            {
                responseBody = reader.ReadToEnd();
            }

            collectorRv = JsonConvert.DeserializeObject<CollectorResponseJSONWrapper>(responseBody);


        }
        catch( Exception ex )
        {
            _LastException = ex;
        }

        return collectorRv;

    }

谢谢,

【问题讨论】:

  • 目前看来无法通过 API 实现,我会通过电子邮件向 api-support@surveymonkey.com 发送此功能请求。

标签: api surveymonkey


【解决方案1】:

这在 API v2 中不受支持,但现在可以使用 API v3 来完成,https://developer.surveymonkey.com/api/v3/#surveys-id-collectors

通过在执行 POST 时将字段 allow_multiple_responses 设置为 /surveys/{id}/collectors 以创建新的收集器。

【讨论】:

    最近更新 更多