2016-05-11 2 views
0

Ich versuche, das schafft question Endpunkt der Survey Monkey API zu verwenden. Es sendet zurück Fehler folgende:„zusätzliche Eigenschaften nicht definiert“ Fehler in API-Aufruf von Survey Monkey

{ 
    "error": { 
    "docs": "https://developer.surveymonkey.com/api/v3/#error-codes", 
    "message": "additional properties not defined by 'properties' are not allowed in field '_data'", 
    "id": "1002", 
    "name": "Bad Request", 
    "http_status_code": 400 
    } 
} 

ich in der Lage bin erfolgreich alle anderen API-Endpunkte verwenden zu tun und einen gültigen API-Schlüssel und OAuth-Token haben.

Hier ist ein Beispiel JSON Körper, die ich bin das Senden: https://api.surveymonkey.net/v3/surveys/{survey_id}/pages/{page_id}/questions?api_key=apikeyhere

{ 
    "headings": [ 
     { 
      "heading": "A question about primates", 
      "random_assignment": { 
      "percent": 50, 
      "position": 1 
      } 
     }, 
     { 
      "heading": "A question about primates phrased slightly differently.", 
      "random_assignment": { 
      "percent": 50, 
      "position": 2 
      } 
     } 
    ], 
    "family": "open_ended", 
    "subtype": "single", 
    "position": 1, 
    "sorting": { 
    "type": "textasc", 
    "ignore_last": true 
    }, 
    "required": { 
    "text": "This question is required!", 
    "type": "at_least", 
    "amount": "1" 
    }, 
    "validation": { 
    "type": "integer", 
    "text": "Validation has failed!", 
    "min": 20, 
    "max": 30 
    }, 
    "forced_ranking": true 
} 

Jede Idee, was den Fehler verursacht werden könnte? Es scheint, als ob alle Felder korrekt benannt sind und wo sie sein sollen, also bin ich mir nicht sicher, was das Problem ist.

Antwort

0

Das Feld forced_ranking ist nicht für die Familie erlaubt = open_ended.

Das Beispiel in der Dokumentation zu https://developer.surveymonkey.com/api/v3/#surveys-id-pages-id-questions falsch ist, werden wir es beheben.

Auch ist sorting nicht für open_ended Fragen zur Verfügung, da es keine Auswahl ist zu sortier gezeigt haben.

Auch für required scheint nur Validierungstyp all zu funktionieren. Die folgende Nutzlast sollte also funktionieren:

{ 
    "headings": [ 
     { 
      "heading": "A question about primates", 
      "random_assignment": { 
      "percent": 50, 
      "position": 1 
      } 
     }, 
     { 
      "heading": "A question about primates phrased slightly differently.", 
      "random_assignment": { 
      "percent": 50, 
      "position": 2 
      } 
     } 
    ], 
    "family": "open_ended", 
    "subtype": "single", 
    "position": 1, 
    "required": { 
    "text": "This question is required!", 
    "type": "all", 
    "amount": "0" 
    }, 
    "validation": { 
    "type": "integer", 
    "text": "Validation has failed!", 
    "min": 20, 
    "max": 30 
    } 
} 

Wir reparieren die Dokumentation, um sie klarer zu machen. Sie können hier Formate für spezifische Fragetypen siehe: https://developer.surveymonkey.com/api/v3/#formatting-question-types

+0

ich mit der neuen Anforderung versucht, die Sie zur Verfügung gestellt hatten, aber jetzt wird es neue Fehler geben als: { „Fehler“: { „docs“: „https://developer.surveymonkey.com/api/v3/#error-codes ", " Nachricht ":" Oh Bananen! Wir konnten Ihre Anfrage nicht bearbeiten. ", " id ":" 1050 ", " name ": "Internal Server Error", "http_status_code": 500 } } – Amar

+0

Es mit nur einem Punkt arbeitet in Überschriften-Liste. Wenn mehr als ein Überschriftenlistenelement vorhanden ist, wird der obige Fehler angezeigt. Die neue Anfrage, die mit nur einer Überschriftenliste arbeitet, ist wie folgt: '{" Überschriften ": [{" Überschrift ":" Eine Frage über Bildung "," zufällige_Zuordnung ": {" Prozent ": 50}}]," family ":" open_ended "," subtype ":" single "," position ": 1," erforderlich ": {" text ":" Diese Frage ist erforderlich! "," type ":" all "," amount " ":" 0 "}," validation ": {" type ":" integer "," text ":" Validation ist fehlgeschlagen! "," Min ": 20," max ": 30}}' – Amar

+0

ich gerade testete die gleiche Anfrage und es erstellt gut. Welchen Plan haben Sie mit SurveyMonkey? Vielleicht gibt es ein planspezifisches Problem, da ich glaube, dass mehrere Überschriften für Gold-Pläne und darüber sind. Wenn Sie darunter liegen, sollten Sie einen 40 * -Fehlercode erhalten. Wenn Sie immer noch die 500-Kontakt-Unterstützung mit Ihrem API-Schlüssel erhalten, können wir die Protokolle aufspüren und beheben. –

Verwandte Themen