Extraction : dans le champ d’application, globale
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.
- Fetch : fetch(ressource de chaîne, options d’objet): démarre le processus d’extraction d’une ressource à partir du réseau.
- Extraire les en-têtes : dans le champ d’application, global: récupérer et modifier les en-têtes de demande et de réponse.
- Demande d’extraction : définie, globale: créer un objet de demande.
- Extraire RequestInit : dans le champ d’application, global: définir des options pour configurer une demande d’extraction.
- Récupérer la réponse : scoped,global: créer un objet de réponse.
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.
| Nom | Type | Description |
|---|---|---|
| ressource | Chaîne ou objet | Requis. La ressource à extraire. Valeurs acceptées :
|
| 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. |
| 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. |
- request() : Configure la demande d’API avec l’URL, la méthode et les en-têtes.
- fetch() : Effectue la demande fetch.
- response.json() : analyse le corps de la réponse JSON en un objet JavaScript. (Voir Récupérer la réponse : json() pour plus d’informations.)
- console.log() : génère les incidents (data.result) à l’aide de l’API de la console (voir Console : log(Objet val1... val2, Chaîne msg, Chaîne subst1... subst2)).
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" }
]