csid Posted November 28, 2018 Share Posted November 28, 2018 Bonjour, j'essaye d'utiliser le webservcie sur un PS 1.7.4.2 mais j'obtiens dès la tentative de connexion une erreur 401 mon code : define('DEBUG', true); // Debug mode define('PS_SHOP_PATH', 'http://ssdom.site.com/'); // Root path of your PrestaShop store define('PS_WS_AUTH_KEY', 'macle_cree_dans_PS'); // Auth key (Get it in your Back Office) require_once('./PSWebServiceLibrary.php'); // Here we make the WebService Call try { $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); // Here we set the option array for the Webservice : we want customers resources $opt['resource'] = 'customers'; // We set an id if we want to retrieve infos from a customer if (isset($_GET['id'])) $opt['id'] = (int)$_GET['id']; // cast string => int for security measures // Call $xml = $webService->get($opt); // Here we get the elements from children of customer markup which is children of prestashop root markup $resources = $xml->children()->children(); } catch (PrestaShopWebserviceException $e) { // Here we are dealing with errors $trace = $e->getTrace(); if ($trace[0]['args'][0] == 404) echo 'Bad ID'; else if ($trace[0]['args'][0] == 401) echo 'Bad auth key'; else echo 'Other error<br />'.$e->getMessage(); } Mais j'obtiens ces erreurs : HTTP REQUEST HEADER GET //api/customers HTTP/1.1 Authorization: Basic UkJGUzQ5SVAzRk5NOUs3TDJUNVRGMkc3RkZDTVdYQ0E6 Host: 2019.beeper.fr Accept: */* HTTP RESPONSE HEADER HTTP/1.1 401 Unauthorized Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=15 Date: Wed, 28 Nov 2018 15:53:21 GMT Server: Apache X-Powered-By: PHP/5.6.38 WWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required." Set-Cookie: PrestaShop-f9c74bffb53d7d9edde262e3402521eb=def50200e5a339e903c1a16d938a1588c0f13165aeda2da6884d8b8d5355df31526b29c6a92b55a0448d8093c91f4349b204080ce8ce1b9f3a1ec2a27eae66baea68701d445fc2113fc09229a1f5dc24557e512337be46367f96e6ac0cafc74ddfc4ef5468477d05ac42efcfc2f554b7b88a553d5813ed282b826665dd7501a393c2a3d3e2aec07aded28e56b459f876588918cbf533c9f58b3658675ff17df9224d; expires=Tue, 18-Dec-2018 15:53:21 GMT; Max-Age=1728000; path=/; domain=2019.beeper.fr; secure; httponly RETURN HTTP BODY 401 Unauthorized Bad auth key Après de nombreux tests j'ai essayé un accès direct dans le navigateur : https://[email protected]/api/ ==> ne fonctionne pas (erreur 401 unauthorized)https://ssdom.monsite.com/api/customers/?ws_key=ma_cle ==> Fontionne ! (je recupère mes clients) Comme vous pouvez le voir j'ai en fait juste fait un copier coller de l'exemple donné par prestashop pour l'utilisation du webservice avec la classe PSWebServiceLibrary.php. Qu'est ce que je ne fais pas correctement ...? Hervé Link to comment Share on other sites More sharing options...
Bruno G Posted February 18, 2020 Share Posted February 18, 2020 Bonjour, Je suis également intéressé par la solution à ce problème : j'essaie de consommer le webservice Prestashop via SalesForce et effectivement, avec la première URL (comme donnée dans la doc Prestashop) cela ne fonctionne pas, alors qu'avec la seconde URL, cela fonctionne. Merci Link to comment Share on other sites More sharing options...
Pierre Antoine Posted March 24, 2020 Share Posted March 24, 2020 Bonjour, Je confirme avoir le même problème, mes appels API ne fonctionnent qu'en poussant la clé dans l'URL sous la forme d'un paramètre : ?ws_key=ma_cle Etrange non? Link to comment Share on other sites More sharing options...
fbenoist.com Posted April 30, 2020 Share Posted April 30, 2020 Bonjour, Vous pouvez essayer d'ajouter les deux lignes suivantes dans votre fichier .htaccess (Après la ligne RewriteEngine on) : RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] 1 Link to comment Share on other sites More sharing options...
bewa Posted November 22, 2020 Share Posted November 22, 2020 Quelqu'un a une solution je sèche sur le même problème. la modification du fichier .htaccess n'a pas permis un résultat Link to comment Share on other sites More sharing options...
Mth-presta Posted January 19, 2021 Share Posted January 19, 2021 J'ai exactement le même problème en javascript avec fetch(). J'arrive à récupérer la data uniquement quand je passe la clé API dans l'URL après le paramètre ws_key. Sinon, impossible de récupérer la data en spécifiant la clé API dans le header d'une quelconque manière que ce soit. (La réponse est toujours 401 : Non autorisé). J'ai pourtant essayé de modifier le fichier webservice/dispatcher.php en ajoutant ces lignes : header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS,PATCH'); header('Access-Control-Allow-Headers: Content-Type, Authorization'); header('Access-Control-Allow-Credentials: true'); Si un pro Prestashop saurait nous éclairer, il est le bienvenue ! 😁 Link to comment Share on other sites More sharing options...
Mth-presta Posted January 19, 2021 Share Posted January 19, 2021 Je viens de tester l'appel à l'API avec Postman de cette façon : url : https://domaine.com/api En renseignant dans Basic Authorization : username : clé API password : aucun Et pourtant j'obtiens bien une réponse 200. Link to comment Share on other sites More sharing options...
Blume2021 Posted January 19, 2021 Share Posted January 19, 2021 Bom dia, A nossa loja online Blume Home , quado estamos a criar um novo artigo para o blog e gravamos para activar no site, aparece o erro de 404. Antes aparecia o erro 501. Já verificamos caches, atualizámos a pagina, continua o mesmo erro. Será que nos podem ajudar a resolver este problema? Agradecemos a vossa ajuda. obrigado Link to comment Share on other sites More sharing options...
celeg Posted March 3, 2021 Share Posted March 3, 2021 (edited) Même souci et si je tente un essai dans le navigateur, j'ai en boucle une demande .... Edit: en ajoutant dans le .htaccess les règles suivantes après RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] Cela fonctionne. En revanche je ne sais pas comment faire dans le cas d'un module sans ajouter ceci manuellement.... Edited March 3, 2021 by celeg (see edit history) 1 Link to comment Share on other sites More sharing options...
Kaofonic Posted April 16, 2021 Share Posted April 16, 2021 On 3/3/2021 at 11:48 AM, celeg said: Même souci et si je tente un essai dans le navigateur, j'ai en boucle une demande .... Edit: en ajoutant dans le .htaccess les règles suivantes après RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] Cela fonctionne. En revanche je ne sais pas comment faire dans le cas d'un module sans ajouter ceci manuellement.... Hello ! Je reviens sur la question. La règle effectivement fonctionne. Mais Prestashop régénère régulièrement le .htaccess... et efface les 2 lignes. Donc, solution : mettre les 2 lignes en dehors des commentaires... Mais ou??? en premier ? à la fin ? apparemment si on ne met que ces deux lignes ça ne fonctionne pas. Faut-il rajouter quelque chose ??? Link to comment Share on other sites More sharing options...
Kaofonic Posted April 17, 2021 Share Posted April 17, 2021 Bon, en fait j'ai placé ces lignes en début du .htaccess pour éviter que Prestashop ne les efface : <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] </IfModule> # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution Et ça fonctionne ! Est-ce que celà vous semble correct ? Est-ce que ça ne compromet pas l'intégrité ou la sécurité du .htacces ?? 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now