Solicitud de proxy

Solicitud de proxy - kintone.proxy()

Esta API realiza solicitudes a API externas. Los errores de CORS se pueden evitar mediante el uso de esta API. Para obtener más información sobre los errores de CORS, consulte el siguiente enlace de MDN Web Docs:
Errores de CORS (External link)

Función

kintone.proxy(url, method, headers, data, successCallback, failureCallback)

Parámetros

PARÁMETRO VALOR OBLIGATORIO DESCRIPCIÓN
url Cuerda La dirección URL de la solicitud.
method Cuerda El método HTTP. Especifique una de las siguientes opciones: GET / POST / PUT / DELETE.
headers Objeto Especifique el encabezado de la solicitud como un objeto. Para ignorar este parámetro, ingrese {}.
Muestra: { 'Content-Type': 'application/json' }
data Objeto o cadena Los datos que se enviarán en la solicitud. Para ignorar este parámetro, ingrese {}.
Se aplica solo para solicitudes POST / PUT. Ignorado para GET/DELETE Solicitudes.
En el caso de las solicitudes GET / DELETE, establezca el parámetro en QueryString de la dirección URL en su lugar.
successCallback Función Opcional La función de devolución de llamada que se ejecutará una vez que haya finalizado la solicitud al otro extremo del proxy. Recibirá el cuerpo de la respuesta (cadena), el código de estado (número) y el encabezado de la respuesta (objeto) como parámetros de la API externa.

Si se ignora, un kintone. Se devolverá un objeto de promesa que se puede cumplir con una matriz que contenga un cuerpo de respuesta (cadena), un código de estado (número) y un encabezado de respuesta (objeto).
failureCallback Función Opcional La función de devolución de llamada que se ejecutará cuando se produzca un error en la solicitud de API al otro extremo del proxy. Recibirá el cuerpo de la respuesta (cadena) como parámetro de la API externa.
Si se ignora la devolución de llamada, un kintone. Se devolverá un objeto de promesa que se puede cumplir con el cuerpo de respuesta (cadena) de la API de proxy.

Devuelve

Un kintone.Promise object se devolverá si el objeto successCallback o failureCallback se ignoran los parámetros. De lo contrario, no se devolverá nada.

Solicitud de muestra

1
2
3
4
5
kintone.proxy('https://*****.***.net', 'GET', {}, {}, function(body, status, headers) {
  console.log(status, JSON.parse(body), headers);
}, function(error) {
  console.log(error); // Display the response body (string) from the proxy API
});

Solicitud de ejemplo mediante promesas

1
2
3
4
5
6
7
8
9
kintone.proxy('https://*****.***.net', 'GET', {}, {}).then(function(args) {
  /*  args[0] -> body(string)
   *  args[1] -> status(number)
   *  args[2] -> headers(object)
   */
  console.log(args[1], JSON.parse(args[0]), args[2]);
}, function(error) {
  console.log(error); // Display the response body (string) from the proxy API
});

Notas

  • Especificación de un valor inexistente url devolverá un código de estado de error de 503 (DNS Cache Missing).
  • Si el dominio de origen de la solicitud tiene restricciones de IP e intenta acceder a otra aplicación en el mismo dominio, se puede permitir que las direcciones IP de kintone.com otorguen acceso al complemento. Puede encontrar una lista de direcciones IP utilizadas por Kintone en el siguiente artículo del sitio de ayuda:
    Dominios y direcciones IP utilizados por Kintone (External link)
  • Tenga en cuenta que esto permite que cualquier dominio kintone.com acceda a la API. Por lo tanto, no se recomienda desde el punto de vista de la seguridad.
  • Cuando utilice la API de REST de Kintone en su propio dominio de Kintone, utilice la solicitud de API de REST de Kintone en lugar de la kintone.proxy() API. Para obtener más información sobre la solicitud de API REST de Kintone, consulte el siguiente artículo:
    Solicitud de API REST de Kintone
  • Al utilizar esta API para ejecutar API externas, las cookies que deben generarse en el destino de la API no se generan automáticamente.
  • El Content-Length encabezado y Transfer-Encoding los encabezados se agregan automáticamente si el método HTTP se establece en POST o PUT. Si se establece explícitamente al realizar solicitudes, se producirá un error.
  • Cualquier tipo de Content-type se puede utilizar.

Limitaciones

  • A continuación se indican las limitaciones de las respuestas de API externas que se van a ejecutar:
    • El tamaño máximo del encabezado de respuesta desde el otro extremo del proxy es de 100 líneas y el tamaño máximo de cada línea es de 8,180 bytes.
    • El tamaño máximo del cuerpo de la respuesta desde el otro extremo del proxy es de 10 MB. Se producirán errores si las líneas o los tamaños superan el máximo.
    • Esta API solo puede manejar un cuerpo de caracteres de respuesta. No se admiten imágenes u otros datos binarios.
  • No es posible la comunicación con los servidores mediante certificados autofirmados.