Carga de archivos proxy

Carga de archivos proxy - kintone.proxy.upload()

Cargue un archivo fuera de Kintone.

Función

kintone.proxy.upload(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: POST / PUT.
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.
data.format String Formato que se va a cargar en el servicio externo.
Solo la cadena RAW se puede especificar.
data.value Tipo de blob (incluido el tipo de archivo) Datos a cargar.
El tamaño máximo es de 200 MB.
successCallback Función Opcional La función de devolución de llamada que se ejecutará cuando finalice la solicitud al servicio externo. Recibirá el cuerpo de la respuesta (cadena), el código de estado (número) y el encabezado de la respuesta (objeto) como parámetros del servicio externo.
Si se ignora este parámetro, se devolverá un objeto kintone.Promise que se puede completar con una matriz que contiene 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 servicio externo. Recibirá el cuerpo de la respuesta (cadena) como parámetro del servicio externo.
Si se ignora este parámetro, se devolverá un objeto kintone.Promise que puede rechazarse con el cuerpo de respuesta (cadena) de esta API.

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
 6
 7
 8
 9
10
11
12
13
14
15
const blob = new Blob(['This is a test file'], {
  type: 'text/plain',
});
const data = {
  format: 'RAW',
  value: blob
};

kintone.proxy.upload('https://api.example.com', 'POST', {}, data, (body, status, headers) => {
  // success
  console.log(status, JSON.parse(body), headers);
}, (error) => {
  // 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
10
11
12
13
14
15
const blob = new Blob(['This is a test file'], {
  type: 'text/plain',
});
const data = {
  format: 'RAW',
  value: blob
};
try {
  const resp = await kintone.proxy.upload('https://api.example.com', 'POST', {}, data);
  // success
  console.log(resp);
} catch (error) {
  // error
  console.log(error);
}

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.
  • 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.
  • Los navegadores compatibles se pueden encontrar en el siguiente enlace:
    Requisitos del sistema (External link)