Extraction : dans le champ d’application, globale

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • L’API Fetch fournit des méthodes d’extraction des ressources à l’aide d’objets de demande et de réponse.

    Vous pouvez utiliser l’API Fetch dans un script en arrière-plan et partout où vous pouvez effectuer des appels HTTP (comme un point de terminaison REST). L’API Fetch vous permet d’effectuer des demandes d’extraction simples et plus compliquées en définissant des en-têtes, des options de corps, etc.

    Cette API fait partie d’un ensemble d’API d’extraction , qui fournissent diverses actions pour extraire des ressources à partir de sites web externes. La collection complète d’API d’extraction comprend :

    Pour prendre en charge les actions d’extraction, la propriété système glide.hosts.allowlist permet de contrôler les hôtes auxquels une méthode d’extraction peut accéder. Il s’applique aux API HTTP comme RestMessageV2 et celles mentionnées ci-dessus. Pour plus d’informations sur glide.hosts.allowlist, reportez-vous à la section Available system properties.

    Fetch : fetch(ressource de chaîne, options d’objet)

    Démarre le processus d’extraction d’une ressource à partir du réseau et renvoie une promesse qui est tenue une fois la réponse disponible.

    Tableau 1. Paramètres
    Nom Type Description
    ressource Chaîne ou objet Requis. La ressource à extraire.
    Valeurs acceptées :
    • Chaîne ou objet avec un stringifier, y compris un objet URL, qui fournit l’URL de la ressource que vous souhaitez extraire. L’URL peut être relative à l’URL de base qui est l’URI base du document.
    • Un Récupérer la demande : request() objet.
    options Objet Facultatif. Objet Extraire RequestInit : dans le champ d’application, global contenant des paramètres personnalisés à appliquer à la demande.

    Par défaut : la demande est transmise sans aucun paramètre de personnalisation.

    Tableau 2. Renvoie
    Type Description
    Objet Une promesse qui se résout en un objet de réponse.
    Une promesse fetch() n’est rejetée que lorsque la demande échoue, par exemple, en raison d’une URL de demande mal formée ou d’une erreur réseau.
    Remarque :
    Une promesse fetch() n’est pas considérée comme rejetée si le serveur répond avec des codes d’état HTTP qui indiquent des erreurs telles que 404 ou 504. Dans ce cas, utilisez un gestionnaire then() pour vérifier les propriétés ok et status Récupérer la réponse : scoped,global.
    L’exemple suivant montre comment former un nouvel objet Request à l’aide Récupérer la demande : request() de puis de fetch() pour récupérer ses données. Voici une explication simple de la façon dont chaque partie du code est utilisée :
    async function fetchIncidents() {
        const url = 'https://your-instance.service-now.com/api/now/table/incident';
        const username = 'your_username';
        const password = 'your_password';
    
        // Create a Request object
        const request = new Request(url, {
            method: 'GET',
            headers: {
                'Content-Type': 'application/json',
                Authorization: 'Basic ' + btoa(`${username}:${password}`)
            }
        });
    
        // Fetch data and use response.json() to process it
        const response = await fetch(request);
        const data = await response.json(); // Parse the response to JSON
        console.log(data.result); // Log the incidents data to system logs
    }
    
    fetchIncidents();

    Sortie :

    [
        { "number": "INC0001", "short_description": "System outage" },
        { "number": "INC0002", "short_description": "Password reset request" }
    ]