Pregunta

¿Cómo puedo hacer una solicitud de API desde una aplicación personalizada instalada en mi cuenta a la API de otra cuenta y no recibir el mensaje? El error no es un URI proxy.

Respuesta

El comportamiento predeterminado de client.request es enviar la solicitud a través de la capa proxy de Zendesk, una puerta de enlace que bloquea las solicitudes HTTP de una cuenta a otra, lo que da como resultado que la respuesta 403 no es una respuesta de URI proxy.

Para hacer una solicitud.cliente a la API de otra instancia de Zendesk desde una aplicación personalizada en su cuenta, pase cors: true en el objeto request options. Esto permite que la solicitud evite la capa proxy de Zendesk.

// make a request from a custom app in one Zendesk to the API of another Zendesk
 
 function newRequest(){
  var options = {
        url: 'https://subdomain.zendesk.com/api/v2/....',
        headers: { "Authorization": "Bearer OAUTH_TOKEN"},
        type: 'POST',
        data: JSON.stringify({my:"json", values:"go here"}), 
        contentType: "application/json",
        cors: true 
      } 
      client.request(options).then(
        function(response) {
          console.log(response);
        });
  }

Una nota sobre las solicitudes del lado del cliente y las del lado del servidor

Cada terminal de API de Zendesk implementa la función Compartir recursos de origen cruzado (CORS). Si la solicitud de la aplicación se origina del lado del cliente, las respuestas CORS fallan a menos que utilice OAuth. Si solo necesita el método GET, aplique el token OAuth para que solo el acceso de lectura a recursos específicos se aplique en el lado del cliente.

Si la solicitud de la aplicación a la otra API de Zendesk es para escribir datos con el método PUT o POST, cualquiera de las dos opciones no es segura ya que expone el token en el tráfico de red. En la mayoría de los flujos de trabajo, se puede usar la configuración segura para evitar problemas de seguridad con el token.

La configuración segura no funciona para este flujo de trabajo porque requiere que la solicitud atraviese la capa de proxy de Zendesk. Si necesita que la aplicación escriba datos, considere soluciones del lado del servidor donde la solicitud a la API de la otra cuenta de Zendesk se envíe de regreso a la aplicación, manejada del lado del servidor.

Descargo de responsabilidad: Este artículo se ofrece con fines de instrucción únicamente. Zendesk no ofrece soporte para el código ni lo garantiza. Publique cualquier problema que tenga en la sección de comentarios o intente buscar una solución en Internet.

Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.

Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.

Tecnología de Zendesk