UTILISATION D'API ZK Bio time

Par KOUASSI_API, il y a 2 ans


Bonjour, s'il vous plait j'interoge une API de l'application ZK Bio time, pour recupérer la liste des utilisateurs, malheureusement j'ai une erreur (string(58) "{"detail":"Informations d'authentification non fournies."}"). voici mon code :

<?php // Endpoint pour obtenir le token $token_url = 'http://127.0.0.1/jwt-api-token-auth/'; // Informations d'identification pour l'API $username = 'admin'; $password = 'Api12345678'; // Données à envoyer avec la requête POST $post_data = array( 'username' => $username, 'password' => $password ); // Initialisation de cURL $curl = curl_init(); // Configuration de la requête POST curl_setopt_array($curl, array( CURLOPT_URL => $token_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($post_data), CURLOPT_SSL_VERIFYHOST => false, // Désactiver la vérification du certificat CURLOPT_SSL_VERIFYPEER => false, )); // Exécution de la requête et récupération de la réponse $response = curl_exec($curl); // Vérification de la réponse if ($response === FALSE) { // Gestion des erreurs echo 'Erreur lors de la récupération du token : ' . curl_error($curl); } else { // Analyse de la réponse JSON pour extraire le token $data = json_decode($response, true); if (isset($data['token'])) { // Récupération du token $token = $data['token']; // Utilisation du token dans une autre requête vers une ressource protégée par l'API $resource_url = 'http://127.0.0.1/personnel/api/employees/'; // Exemple de requête avec le token dans l'en-tête d'autorisation $headers = array( 'Authorization: JWT '.$token ); // Initialisation d'une nouvelle session cURL $curl_resource = curl_init(); curl_setopt_array($curl_resource, array( CURLOPT_URL => $resource_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_SSL_VERIFYHOST => false, // Désactiver la vérification du certificat CURLOPT_SSL_VERIFYPEER => false, )); // Exécution de la requête et récupération de la réponse de la ressource $resource_response = curl_exec($curl_resource); // Vérification de la réponse de la ressource if ($resource_response === FALSE) { // Gestion des erreurs echo 'Erreur lors de la récupération de la ressource : ' . curl_error($curl_resource); } else { // Affichage de la réponse de la ressource echo 'Réponse de la ressource protégée : ' . $resource_response; } // Fermeture de la session cURL pour la ressource curl_close($curl_resource); } else { // Gestion des cas où le token n'est pas trouvé dans la réponse echo 'Token non trouvé dans la réponse'; } } // Fermeture de la session cURL curl_close($curl); ?>

Voici la documentation de l'API :

Get JWT Auth Token

Request

Method: POST

Url: /jwt-api-token-auth/

Headers:

Content-Type: application/json
Body: {
"username": "username",
"password": "password"
}

Request
Method: GET

Url: /personnel/api/employees/
Headers:
Content-Type: application/json
Authorization: "JWT ey.........oQi98"

Aucune réponse