Prestashop API – 401 Unauthorized
Dobrý den,
snažím se integrovat prestashop (1.7.6.5) s PHP 7.2 s baselinker.com (a v budoucnu dalšími podobnými službami), pro který je třeba integrace přes API.
Baselinker vyhazuje chybu:
Error message: Element products nie istnie w bazie sklepu (#CON11)
Mám povolen URL rewritting
Povoleny PrestaShop’s webservice
U povolení CGI mode for PHP jsem zkoušel obě varianty
Vygenerovaný API key, povolena veškerá oprávnění
Když zkusím přístup na nejlepsiznacky.cz/api , tak se objeví přihlašovací okno. Ale při zadání klíče dostanu zprávu:
The requested URL /– was not found on this server.
Když jsem to samé zkusil testovat přes Postman.co, tak je tam: 401 Unauthorized
Pode návodu pro Prestashop .httaccess přidat:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ale nepomohlo to.
Ve znalostní databázi jsem našel zmínku, že PHP na Wedosu funguje v módu FastCGI, nejsem si jistý, zda to souvisí. Každopádně jsem do .httaccess zkusil přidat i:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
To vede pouze k tomu, že se nezobrazí ani možnost přihlášení přes /api a postman vyhazuje status 404:
<title>Chyba 404</title>
<meta name=“description“ content=“Tato stránka nebyla nalezena“>
Můj .httaccess teď vypadá takto. Jak ho nastavit, aby API fungovalo?
<IfModule mod_rewrite.c> <IfModule mod_env.c> SetEnv HTTP_MOD_REWRITE On </IfModule> #Zapnuti API SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] # Povoleni PHP_AUTH_USER a PHP_AUTH_PW pro PHP v módu FastCGI RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] #Domain: www.nejlepsiznacky.cz RewriteRule . - [E=REWRITEBASE:/] RewriteRule ^api(?:/(.*))?$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]