Check out the LimeSurvey source code on GitHub!

RemoteControl 2 API : Export_Responses KO

More
3 years 1 month ago - 3 years 1 month ago #104030 by rodparis
Bonjour à tous,

J'ai quelques soucis avec le RemoteControl API afin de pouvoir exporter les réponses d'un questionnaire (peu importe le format).

Ma procédure est bonne (pas d'erreur d'éxecution) mais les résultat est très limité. Seuls les champs "id","submitdate","lastpage","startlanguage","startdate","datestamp","ipaddr" s'affichent et pas du tout le contenu du questionnaire.

Quelqu'un a-t'il le même pb ? Quelle solution pour obtenir un export complet au travers l'API ?

Mon bout de code en PHP :
require_once 'includes/jsonRPCClient.php';
define( 'LS_BASEURL', 'LimesurveyURL'); // LimeSurvey URL est remplacé par l'adresse url de mon serveur 
define( 'LS_USER', 'user' );
define( 'LS_PASSWORD', 'password' );
$survey_id=123456;
$myJSONRPCClient = new jsonRPCClient( LS_BASEURL.'/admin/remotecontrol' );
$sessionKey= $myJSONRPCClient->get_session_key( LS_USER, LS_PASSWORD );
// Export des réponses
$DocumentType='csv';
$CompletionStatus='all';
$HeadingType='full';
$ResponseType='long';
$print = $myJSONRPCClient->export_responses($sessionKey, $survey_id, $DocumentType, $CompletionStatus ,$HeadingType, $ResponseType);
print_r( base64_decode($print), null);
$myJSONRPCClient->release_session_key( $sessionKey );


Malgré ce qui est indiqué dans la documentation (cad : Export response data), et bien seules les colonnes suivantes s'affichent et pas du tout le contenu des réponses de mon questionnaire : "id","submitdate","lastpage","startlanguage","startdate","datestamp","ipaddr"

Des idées ?

Bien à tous
Last Edit: 3 years 1 month ago by DenisChenu. Reason: code PHP

Please Log in to join the conversation.

More
3 years 1 month ago #104045 by DenisChenu
Sur la 2.0 ou la 2.05 ?

J'avais testé sur la 2.0 il y a un bail, ton code me semble OK.

Tu as essayé avec le type de réponse court ?

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
3 years 1 month ago #104077 by rodparis
Bonjour Denis,

Oui j'ai essayé et cela ne fonctionne pas.
J'ai même essayé avec fromresponse et toresponse avec des valeurs du genre 1 et 2 : KO

Je pense que là c'est un joli bug ...

Tu as une version précédente à la 2.05+ pour voir si celà fonctionne ?

Cdt

Please Log in to join the conversation.

More
3 years 3 weeks ago #104464 by rodparis
Rapide update :
Apparemment il manque une valeur dans mon code et je ne vois pas dans la doc que ce paramètre est obligatoire : la langue ! donc il faut rajouter dans le tableau $print la valeur null après $DocumentType.

Et le tour est joué ...


require_once 'includes/jsonRPCClient.php';
define( 'LS_BASEURL', 'LimesurveyURL'); // LimeSurvey URL est remplacé par l'adresse url de mon serveur
define( 'LS_USER', 'user' );
define( 'LS_PASSWORD', 'password' );
$survey_id=123456;
$myJSONRPCClient = new jsonRPCClient( LS_BASEURL.'/admin/remotecontrol' );
$sessionKey= $myJSONRPCClient->get_session_key( LS_USER, LS_PASSWORD );
// Export des réponses
$DocumentType='csv';
$CompletionStatus='all';
$HeadingType='full';
$ResponseType='long';
$print = $myJSONRPCClient->export_responses($sessionKey, $survey_id, $DocumentType, null, $CompletionStatus ,$HeadingType, $ResponseType);
print_r( base64_decode($print), null);
$myJSONRPCClient->release_session_key( $sessionKey );


A plus

Please Log in to join the conversation.

Moderators: Nickko
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form