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]
4 Odpověď
Dobrý den,
s tímto Vám bohužel z naší strany neporadíme, s tímto je potřeba se obrátit na nějakého prestashop vývojáře. Případně zkuste https://webtrh.cz/