Un usuario preguntó 👇
TENGA EN CUENTA QUE LOS CONSUMIDORES CLAVE Y LOS SECRETARIOS DE LOS CONSUMIDORES ESTÁN 100% CORRECTOS.
Actualizo mi Woocommerce hoy a la última versión de 3.6.1 y, de repente, la API REST deja de funcionar y me da un error 401.
{«Código»: «woocommerce_rest_cannot_view», «mensaje»: «Lo sentimos, no puede ver este recurso», «Datos»: {«estado»: 401}}
Antes de la actualización, todo funcionaba perfectamente. He comprobado las claves dos veces y es correcto. Fue la actualización la que creó el problema. Tengo mi propia versión del tablero que usa la API de WP. Funcionó bien antes de la actualización.
No me des esta respuesta, porque he intentado esto antes: Hola. Un error 401 significa que tiene credenciales incorrectas y está utilizando las claves de API incorrectas: https://woocommerce.github.io/woocommerce-rest-api-docs/#errors
TENGA EN CUENTA QUE LOS CONSUMIDORES CLAVE Y LOS SECRETARIOS DE LOS CONSUMIDORES ESTÁN 100% CORRECTOS.
(@mikejolley)
Hace 1 año, 9 meses
Algunos entornos de servidor tienen dificultades con la autenticación porque no admiten encabezados, y aunque esto se puede solucionar a través de htaccess, he visto algunos otros informes de esos htaccess eliminados por algo después de las actualizaciones.
¿Puedes intentar publicar en la API sin encabezados y usar la consulta en su lugar? / api / endpoint /? consumidor_clave = X & consumidor_secreto = X.
(@ishtiyaqhu)
Hace 1 año, 9 meses
Mismo problema con la solución sugerida. Si se trata de un problema de «htaccess», ¿por qué funcionó bien antes de la actualización?
(@mikejolley)
Hace 1 año, 9 meses
> He visto algunos otros informes de htaccess eliminados por algo después de las actualizaciones.
^ debido a.
por ejemplo, algunos usuarios lo han arreglado para:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Muéstreme la solicitud que está haciendo con el cable de cadena de consulta (X sus claves).
(@ishtiyaqhu)
Hace 1 año, 9 meses
Así es como intento acceder, también recibo el mismo error de POSTMAN. Hice cambios en el archivo .htaccess de acuerdo con su sugerencia, pero sigo recibiendo el mismo error.
$ woocommerce = Nuevo cliente (‘https://example.com/ ‘;, ‘ck_1XXXXXXXXXXXXXXXXXfda’, ‘cs_6XXXXXXXXXXXXXXXXX8a8’,
[
‘wp_api’ => true,
‘version’ => ‘wc/v3’,
‘query_string_auth’ => true,
]
);
print_r ($ woocommerce-> recibir (‘comando / 123456’));
(@mikejolley)
Hace 1 año, 9 meses
Intente no ingresar el código del cliente y en su lugar agregue la URL completa de la API con claves de cadena de consulta en la barra de direcciones del navegador y vea si obtiene el mismo error. Esto se hace para excluir al cliente. No tengo ningún problema con la API y la autenticación localmente usando el cliente Insomnia o directamente a través del navegador.
(@ishtiyaqhu)
Hace 1 año, 9 meses
Estoy usando el servidor web NGINX, ¿hay algún sitio específico con NGINX?
(@mikejolley)
Hace 1 año, 9 meses
.Htaccess funciona en nginx afaik: p eso es para apache.
¿Has probado lo que dije? La cadena de preguntas evitará los encabezados que causan problemas como este.
(@ishtiyaqhu)
Hace 1 año, 9 meses
Probé el cartero, el código PHP y la barra de direcciones del navegador (cable de consulta). Recibo el mismo error para todos los métodos mencionados. Los métodos anteriores funcionan perfectamente en una versión anterior de Woocommerce en el mismo servidor (tengo 2 sitios de Woocommerce ejecutándose en el mismo servidor). Esta es la primera vez que recibo este tipo de error después de la actualización.
¿Debería degradar Woocommerce? ¿Qué pasa con la nueva base de datos, funcionará con la versión anterior de Woocommerce?
(@mikejolley)
Hace 1 año, 9 meses
Probablemente la mejor solución … ¿puede ponerse en contacto con el servicio de asistencia técnica para que alguien pueda acceder y probarlo en su entorno?
(@ishtiyaqhu)
Hace 1 año, 9 meses
¿Cómo contactar con el servicio de asistencia?
(@mikejolley)
Hace 1 año, 9 meses
https://woocommerce.com/contact-us/ o puedes enviarme un ping a través de https://github.com/mikejolley
Todavía no veo ningún cambio de código que afecte a la autenticación.
(@ishtiyaqhu)
Hace 1 año, 9 meses
Gracias @mikejolley por tu ayuda.
Las versiones 3.6.0 y 3.6.1 de Woocommerce tienen el mismo contenido para la función «is_request_to_rest_api ()». Mi sistema funcionaba bien con 3.6.0 pero deja de funcionar con 3.6.1
Así es como resolví mi problema, desactivé todos los plugins. Primero activé Woocommerce y probé la aplicación WP REST API y funcionó. Luego comencé a activar el resto de los plugins para verificar si el problema es crear un plugin. Finalmente, activé todos los plugins y ninguno de ellos creó el problema. No sé qué pasó, por qué no funcionó antes. Me alegro de que esté funcionando ahora.
Gracias @mikejolley nuevamente por tu ayuda. 🙂
(@ pitufo9852)
Hace 1 año, 9 meses
Hola,
Tengo un problema similar, esta es la primera vez que configuro la API, a través de Postman no puedo iniciar sesión con las claves de API, pero hacerlo directamente en la URL: ‘/ api / endpoint /? Consumer_key = X & Consumer_secret = X ‘¡Esto funciona para usted! ¿Qué significa esto y qué puedo hacer al respecto? Ejecutando en Apache por cierto. Traté de agregar htaccess:
RewriteRule ^ index .php $ – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] & SetEnvIf Autorización “(. *)” HTTP_AUTHORISATION = $ 1
pero no tienes suerte hasta ahora
¡Gracias!
Esta respuesta fue modificada hace 1 año, 9 meses. Razón: más información
(@guidonhcolcombr)
Hace 1 año, 7 meses
Me encontré con el mismo problema después de cambiar el servidor. Recibí una respuesta 401 con la API v3.
Después de cambiar el .htaccess como sugirió Mike, el problema se resolvió.
Solo cambio de línea:
RewriteRule ^ index .php $ – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
(@bencalder)
Hace 1 año, 7 meses
Tuve esta pregunta casi al mismo tiempo que algunas otras.
Después de un poco de proceso para eliminar y deshabilitar todos mis plugins, descubrí que 2 plugins de descuento (1 de ellos Descuentos dinámicos y el otro precio de Varteck rompen la API REST después de la actualización de WooCommerce a mediados de abril.
Actualmente los he dejado discapacitados y todo está funcionando bien.
¿Solucionó tu problema??
0 / 0