Installazione, configurazione generale, notifiche, API, lingue, problemi server
marco987
FormaLms User
Posts: 50 Joined: Wed Oct 07, 2020 11:34 am
Version: forma.lms 2.3
Post
by marco987 » Wed Oct 21, 2020 9:04 am
Salve a tutti. Ho bisogno di consigli sull'uso delle API per favore.
Lato piattaforma (Configurazione > Configurazione sistema > Configurazione > API e Autenticazione) ho spuntato "Abilita le funzionalità delle API", ho inserito un "Codice unico di accesso", una "Aut. Chiave API" e un "Aut. Codice segreto API".
Domanda: Come va modificato/integrato il seguente codice PHP? Grazie
Code: Select all
$params = array("username" => "userLMS", "password" => "passLMS");
$key = "ciaokey";
$secret = "ciaosecret";
$codice_sha1 = strtolower(sha1(implode(",", $params) . "," . $secret));
$codice = base64_encode($key . ":" . $codice_sha1);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://indirizzopiattaformaLMS.it/api/...", // <- Cosa ci va qui?
// Cos'altro ci va qui?
CURLOPT_HTTPHEADER => array(
"X-Authorization: FormaLMS " . $codice,
// Ci va altro?
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Marco
Web Developer
alfa24
Senior Boarder
Posts: 2187 Joined: Fri Nov 24, 2017 8:45 am
Post
by alfa24 » Wed Oct 21, 2020 9:26 am
Come già detto a Simone, devi scriverti un tuo layer, come per qualsiasi RESTful interface.
Ti ho scritto anche in privato, hai ignorato...
Per supporto GRATUITO contattatemi in privato
qui
marco987
FormaLms User
Posts: 50 Joined: Wed Oct 07, 2020 11:34 am
Version: forma.lms 2.3
Post
by marco987 » Wed Oct 21, 2020 9:38 am
alfa24 wrote: ↑ Wed Oct 21, 2020 9:26 am
Come già detto a Simone, devi scriverti un tuo layer, come per qualsiasi RESTful interface.
Ti ho scritto anche in privato, hai ignorato...
Chiedo scusa. L'email arrivatami ieri l'avevo confusa con una risposta automatica
Marco
Web Developer
marco987
FormaLms User
Posts: 50 Joined: Wed Oct 07, 2020 11:34 am
Version: forma.lms 2.3
Post
by marco987 » Wed Oct 21, 2020 10:46 am
Da documentazione:
Code: Select all
$codice_sha1 = strtolower(sha1(implode(',', $params) . ',' . $secret));
$codice = base64_encode($key . ':' . $codice_sha1);
$params è
sempre come indicato di seguito?
Code: Select all
$params = array("username" => "userLMS", "password" => "passLMS");
Marco
Web Developer
alfa24
Senior Boarder
Posts: 2187 Joined: Fri Nov 24, 2017 8:45 am
Post
by alfa24 » Wed Oct 21, 2020 10:53 am
Per supporto GRATUITO contattatemi in privato
qui
marco987
FormaLms User
Posts: 50 Joined: Wed Oct 07, 2020 11:34 am
Version: forma.lms 2.3
Post
by marco987 » Wed Oct 21, 2020 12:46 pm
Sono riuscito a fare un passo avanti cambiando sulla piattaforma il "Metodo di autenticazione", portandolo da "Generazione di un Token ad ogni connessione" a "Aut. Chiave segreta".
In questo modo
/api/user/listUsers funziona, dove
$param = [];
Se provo, invece,
/api/user/checkUsername NON funziona, dove
$param = ["userid" => "username"];
e
CURLOPT_URL => "
http://sito.it/api/user/checkUsername?userid=username ",
Marco
Web Developer
marco987
FormaLms User
Posts: 50 Joined: Wed Oct 07, 2020 11:34 am
Version: forma.lms 2.3
Post
by marco987 » Fri Oct 30, 2020 10:56 am
Continuo ad avere difficoltà, la frustrazione comincia a farsi sentire...
Col seguente codice alcune cose funzionano e altre no, perché? Dove sbaglio? Grazie in anticipo a chi vorrà aiutarmi.
Code: Select all
<?php
$params = []; // per come varia vedere esempi sotto
$key = "ciaokey";
$secret = "ciaosecret";
$codice_sha1 = strtolower(sha1(implode(',', $params) . ',' . $secret));
$codice = base64_encode($key . ":" . $codice_sha1);
$curl = curl_init();
curl_setopt_array($curl, array(
/*
CURLOPT_URL => "http://sito.it/api/user/listUsers",
Con $params = [] FUNZIONA CORRETTAMENTE
*/
/*
CURLOPT_URL => "http://sito.it/api/user/countusers?status=all",
Con $params = [] FUNZIONA CORRETTAMENTE
*/
/*
CURLOPT_URL => "http://sito.it/api/course/courses",
Con $params = [] FUNZIONA CORRETTAMENTE
*/
/*
CURLOPT_URL => "http://sito.it/api/user/checkUsername?userid=formaLMS",
Con $params = [] dà il seguente ERRORE:
[error] => User not found // ma sono certo che l’utente esiste
Con $params = ["userid" => "formaLMS",] dà il seguente ERRORE:
[error] => () // ma sono certo che l’utente esiste
*/
/*
CURLOPT_URL => "http://sito.it/api/auth/authenticate?username=formaLMS&password=formaLMS",
Con $params = [] dà il seguente ERRORE:
[error] => Error: Tokens are not used on this installation. // ma sono certo che l’utente esiste
Con $params = ["username"=>"formaLMS", "password"=>"formaLMS",] dà il seguente ERRORE:
[error] => () // ma sono certo che l’utente esiste
*/
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-Authorization: FormaLMS " . $codice,
],
));
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
$xml = simplexml_load_string($response);
print_r($xml);
Marco
Web Developer