Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Teilnehmer per Python-Script hinzufügen

  • Staeonkes_220606
  • Staeonkes_220606's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
4 years 1 month ago #195664 by Staeonkes_220606
Teilnehmer per Python-Script hinzufügen was created by Staeonkes_220606
Hallo,

ich kann leider nur leidlich programmieren und versuche nun ein kleines Script zu basteln, mit dem man Teilnehmer einer Umfrage hinzufügen kann.
Code:
def add_participants(sessionkey, surveyID):
     req = urllib2.Request(url='https://umfrage.bkk-ruv.de/index.php/admin/remotecontrol',\
                           data='{\"method\":\"add_participants\",\"params\":[\"'+sessionkey+'\",\"'+surveyID+'\",\"test@mail.de\",\"Nachname\",\"Vorname\"],\"id\":1}')
     req.add_header('content-type', 'application/json')
     req.add_header('connection', 'Keep-Alive')
     try:
         f = urllib2.urlopen(req)
         myretun = f.read()
         j=json.loads(myretun)
         return j['result']
     except :
         e = sys.exc_info()[0]
         print ( "<p>Error: %s</p>" % e )

Das Problem ist die data-Zeile.
Code:
data='{\"method\":\"add_participants\",\"params\":[\"'+sessionkey+'\",\"'+surveyID+'\",\"test@mail.de\",\"Nachname\",\"Vorname\"],\"id\":1}')

Ich durchschaue leider nicht die Syntax, wie man Vorname, Nachname und Mailadresse hinzufügt. Kann mir da jemand weiter helfen?
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #195669 by Joffm
Replied by Joffm on topic Teilnehmer per Python-Script hinzufügen
Hallo,
ich habe nicht die geringste Ahnung von python.
Aber hier ist ein php script dazu.
www.limesurvey.org/forum/development/120...-custom-token#193943

Entscheidend - für Dich scheint mir dieser Teil:

Zunächste wird ein Array mit den Teilnehmerdaten erzeugt
// Define the token params
$tokenParams = array(
"email"=>$email,
"lastname"=>$lastName,
"firstname"=>$firstName,
"token"=>$token,
"language"=>$language,
"emailstatus"=>"OK"
);

Dann als array an $aParticipantData übergeben
$aParticipantData=array($tokenParams);
$bCreateToken = false;

Und jetzt kommt der Aufruf ($sSessionKey, $iSurveyID sind ja vorher abgefragt worden)
// Create the token in survey
$newToken = $myJSONRPCClient->add_participants( $sSessionKey, $iSurveyID, $aParticipantData, $bCreateToken);


Vielleicht hilft es Dir.
Python selbst ist Dein Bier.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose