Assenza directories API

Installazione, configurazione generale, notifiche, API, lingue, problemi server
Post Reply
User avatar
SimoneSola97
Newbie
Posts: 23
Joined: Mon May 18, 2020 5:31 pm

Assenza directories API

Post by SimoneSola97 »

Salve,
Seguendo la vostra nuova Wiki, per la quale mi complimento circa la chiarezza e la completezza, relativa alla API (https://docs.google.com/document/d/1bbN ... h.17dp8vu9), noto un'anomalia. Ho creato uno script per la creazione automatica all'invocazione dello script in questione (quindi, mediante API) di un utente in piattaforma. Andandolo ad eseguirlo, il server risponde "301 Moved Permanently". In effetti, nel server, al percorso <DOMINIO>/api/ non c'è alcun percorso user/createuser. Come può essere risolto? La piattaforma in uso è la 2.3.0.2.
Saluti

User avatar
CisterNino
FormaLms User
Posts: 63
Joined: Mon May 06, 2013 2:59 pm

Re: Assenza directories API

Post by CisterNino »

Ciao,
ho controllato sula versione 2.3.0.1 e l'api per la creazione dell'utente è presente.
L'api è all'interno di /api/lib/api.user.php, riga 69.
Puoi fare la chiamata sia con /api/user/create che con /api/user/createuser.
I'm Livio, the Two. If you need, you can contact the one.

User avatar
SimoneSola97
Newbie
Posts: 23
Joined: Mon May 18, 2020 5:31 pm

Re: Assenza directories API

Post by SimoneSola97 »

CisterNino wrote:
Fri May 22, 2020 3:04 pm
Ciao,
ho controllato sula versione 2.3.0.1 e l'api per la creazione dell'utente è presente.
L'api è all'interno di /api/lib/api.user.php, riga 69.
Puoi fare la chiamata sia con /api/user/create che con /api/user/createuser.
Ciao e grazie per il feedback.
La URL da chiamare col cURL in PHP quindi è https://<MIODOMINIO>/api/user/create, corretto? Se sì, ti confermo che ricevo ancora l'errore prima citato (301) dal server. Posso eventualmente postare qui il codice PHP che genera l'errore?
Grazie e Buon Weekend.

alfa24
Senior Boarder
Posts: 1012
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Assenza directories API

Post by alfa24 »

Ciao, 301 potrebbe dipendere dal tuo .htaccess. Vuoi postarlo?
I'm Jasmines, the One. If you need, you can contact me.

User avatar
SimoneSola97
Newbie
Posts: 23
Joined: Mon May 18, 2020 5:31 pm

Re: Assenza directories API

Post by SimoneSola97 »

alfa24 wrote:
Sat May 23, 2020 1:33 pm
Ciao, 301 potrebbe dipendere dal tuo .htaccess. Vuoi postarlo?
Ciao,
Grazie per la risposta. Ecco il copia/incolla del contenuto del file HTACCESS dell'hosting (Aruba) su cui è installato l'LMS. Non riesco ad allegarlo poiché sono da mobile.
Buona serata.

Code: Select all

Options -Indexes
#no need to follow symbolic links in standard configuration
#Options +FollowSymLinks
DirectoryIndex index.php index.html index.htm

<Files favicon.ico>
        ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>

<IfModule mod_rewrite.c>
        RewriteEngine on

        # hide directories that starts with a . (dot)
        RewriteRule "(^|/)\.(?!htaccess)" - [F]

        # Redirect to the www version of the site
        #RewriteCond %{HTTP_HOST} !^www\. [NC]
        #RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

<FilesMatch "\.(htpasswd|ini|php|fla|psd|log|sh)$">
        Order Allow,Deny
        Deny from all
</FilesMatch>

<FilesMatch "(composer\.(json|lock))$">
        Order Allow,Deny
        Deny from all
</FilesMatch>

<FilesMatch "((?i:readme)\.(?i:txt|md)|(?i:README))$">
        Order Allow,Deny
        Deny from all
</FilesMatch>

<FilesMatch "(index\.php|ajax\..*\.php|paypal\.php|cron\.php|tasks\.php|tinymce\.gzip\.php|index_tiny\.php|scormXmlTree\.php|soaplms\.php|scorm_page_body\.php|keep_alive\.php|text\.php|users\.php|write\.php|check\.php)$">
        Order Allow,Deny
        Allow from all
</FilesMatch>

alfa24
Senior Boarder
Posts: 1012
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Assenza directories API

Post by alfa24 »

Mi spiace, ho troppi pochi elementi per aiutarti, bisognerebbe debuggare forte sul server...
I'm Jasmines, the One. If you need, you can contact me.

User avatar
SimoneSola97
Newbie
Posts: 23
Joined: Mon May 18, 2020 5:31 pm

Re: Assenza directories API

Post by SimoneSola97 »

alfa24 wrote:
Sat May 23, 2020 8:53 pm
Mi spiace, ho troppi pochi elementi per aiutarti, bisognerebbe debuggare forte sul server...
Ciao,
Grazie mille comunque. Posso aprire un ticket ad Aruba. Eventualmente, posso contattarti via Skype e, in condivisione dello schermo, provare a fare qualche operazione? Posso, se vuoi, allegarti lo script PHP che sto realizzando, magari c'è un errore lì.
Grazie ancora e buona serata.

alfa24
Senior Boarder
Posts: 1012
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Assenza directories API

Post by alfa24 »

Ok.
I'm Jasmines, the One. If you need, you can contact me.

User avatar
SimoneSola97
Newbie
Posts: 23
Joined: Mon May 18, 2020 5:31 pm

Re: Assenza directories API

Post by SimoneSola97 »

alfa24 wrote:
Sun May 24, 2020 8:50 am
Ok.
Buongiorno e Buona Domenica, grazie davvero per le risposte velocissime e per la grande responsabilità.
Spero di acquisire presto un'ottima conoscenza di Forma per poter dare attivamente un contributo anziché "chiedere soltanto"! :)
Ti allego lo script in questione:

Code: Select all

<?php
$secret = "RIMOSSO-PER-PUBBLICAZIONE-SU-FORUM";
$key = "RIMOSSO-PER-PUBBLICAZIONE-SU-FORUM";
$params = array(
                      'userid'        => 'c.ingrassia',
                      'firstname'     => 'Ciccio',
                      'lastname'      => 'Ingrassia',
                      'password'      => 'CiccioIngrassia',
                      'email'         => 'c.ingrassia@mailinator.com',
                      'role'          => "student"
                      );

$codice_sha1 = strtolower(sha1(implode(',', $params) . ',' . $secret)); 
$codice = base64_encode($key . ':' . $codice_sha1);

$url_da_chiamare2 = 'https://cartorangeacademy.it/api/user/createuser';

$ch2 = curl_init($url_da_chiamare2);

curl_setopt($ch2, CURLOPT_POST, 1);
curl_setopt($ch2, CURLOPT_HEADER, 'method: POST');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch2, CURLOPT_HTTPHEADER, array(
    'X-Authorization: FormaLMS ' . $codice
    ));
$data = curl_exec($ch2);

echo $data;

?>
Saluti

Post Reply