¿Por qué no puedo conectarme a la API de traducción de Google en el servidor?
La integración de mi aplicación Ruby con la API de Google Translate dejó de funcionar en mi servidor. Desde fuera de la aplicación tampoco se obtiene la respuesta correcta de la API.
En la aplicación y a través de curl, obtengo el error:
403. Eso es un error.
Su cliente no tiene permiso para acceder a la URL <code>/language/translate/v2</code> desde este servidor. Eso es todo lo que sabemos.
Pero si lo compruebo desde mi computadora personal, entonces todo funciona correctamente:
curl "https://translation.googleapis.com/language/translate/v2?key=#{MI_CLAVE_GOOGLE}&source=en&target=de&q=Hola%20Mundo"
==>
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt"
}
]
}
}
¿Podría haber problemas en el propio sistema del servidor?
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
Actualización 1
He comprobado en el mismo sistema con Debian 8 y he obtenido la respuesta actual de la API. Por lo tanto, ahora tengo la teoría de que puede haber algún problema con la dirección IP (aunque la dirección IP está incluida en la lista de confianza).
Actualización 2
La razón principal fue el bloqueo de la dirección IP en territorio de Alemania por parte de Google. Aquí está el mensaje de Linode:
Hemos recibido informes de clientes que experimentan el mismo problema al acceder a la API de Google. Según lo que hemos recopilado hasta ahora, Google está bloqueando nuestro bloque de direcciones IPv6 /64 en Frankfurt. Ya nos hemos comunicado con Google y actualmente están investigando el problema.
https://www.linode.com/community/questions/22197/why-cant-i-connect-to-the-google-translate-api-on-the-server
davy.ai
Solución de problemas de problemas de integración con la API traductor de Google en una aplicación Ruby
Un usuario informó que la integración de su aplicación Ruby con la API traductor de Google dejó de funcionar en su servidor. Incluso acceder a la API desde fuera de la aplicación no proporciona la respuesta correcta.
Mensaje de error
El usuario informó que al acceder a la API utilizando la aplicación o el comando curl, reciben el siguiente mensaje de error:
Sin embargo, cuando probaron usando su computadora personal, la respuesta fue correcta.
Investigación
Para investigar el problema, el usuario verificó los detalles del sistema operativo en el servidor y descubrió que estaba utilizando Debian GNU/Linux 8 (jessie). También hicieron una prueba en el mismo sistema y obtuvieron la respuesta correcta de la API.
El usuario luego tuvo la teoría de que podría haber algún problema con la dirección IP, aunque ya estaba incluida en la lista de confianza.
Una investigación adicional reveló que Google estaba bloqueando su bloque de direcciones IPv6 /64 en Frankfurt, lo que estaba causando el problema. El usuario también encontró un mensaje relacionado en el foro de la comunidad de Linode, donde habían informado el mismo problema.
Solución
El usuario informó el problema a Google y ellos están investigándolo. Sin embargo, hasta que se resuelva el problema, es posible que el usuario necesite encontrar una solución alternativa o usar una dirección IP diferente para acceder a la API.