2017-07-18 75 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

相關問題