API NowWeb - iOS

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • L’API NowWeb est une API globale de haut niveau qui permet d’instancier une instance de service NowWeb.

    NowWeb : makeWebService(instanceUrl : URL) lèvements asynchrones

    Crée une instance de NowWebService à l’aide de la configuration spécifiée précédemment.

    Vous devez initialiser le Kit de développement logiciel (SDK) avant d’appeler cette fonction, sinon le bloc de complétion est appelé avec une erreur sdkNotConfiguré . Pour initialiser le Kit de développement logiciel (SDK), appelez NowSDK.configure() avec la configuration souhaitée.

    Tableau 1. Paramètres
    Nom Type Description
    instanceUrl URL URL de l’instance dont les ServiceNow services Web doivent être accessibles par le service.
    Tableau 2. Renvoie
    Type Description
    NowWebService En cas de réussite, renvoie un objet NowWebService initialisé.
    NowServiceError (en anglais seulement) Lève l’une des erreurs suivantes si la méthode échoue.
    Valeurs possibles :
    • sdkNotConfigured
    • serviceConfigurationInvalid
    • serviceDisabled
    • serviceSettingsInvalid
    • serviceSettingsNotFound
    • serviceSettingsRetrievalFailed

    L’exemple de code suivant montre comment appeler cette méthode.

    do {
        let service = try await NowWeb.makeWebService(instanceUrl: instanceUrl)
        self.webService = service
    } catch {
        debugPrint("Web Service creation failed with error: \(error.localizedDescription)") 
    }

    NowWeb : makeWebService(instanceUrl : URL, complétion : @escaping (Result<NowWebService, NowServiceError>) -> Void))

    Crée une instance de NowWebService à l’aide de la configuration spécifiée précédemment. Lorsque vous avez terminé, appelle le gestionnaire de complétion spécifié.

    Vous devez initialiser le Kit de développement logiciel (SDK) avant d’appeler cette fonction, sinon le bloc de complétion est appelé avec une erreur sdkNotConfiguré . Pour initialiser le Kit de développement logiciel (SDK), appelez NowSDK.configure() avec la configuration souhaitée.

    Tableau 3. Paramètres
    Nom Type Description
    instanceUrl URL URL de l’instance dont les ServiceNow services Web doivent être accessibles par le service.
    achèvement @escaping ((Result<NowWebService, NowServiceError>) -> Void) Gestionnaire de complétion appelé avec un Result<NowWebService, NowServiceError> contenant soit une instance NowWebService initialisée, soit un NowServiceError indiquant pourquoi l’initialisation a échoué.
    Tableau 4. Renvoie
    Type Description
    Aucun

    func initializeNowSDK(userEmail: String) {
      currentUser = userEmail
      let sdkConfig = NowSDKConfiguration(authorizationProvider: self, permissionDelegate: self, logLevel: .debug)
            
      do {
          try NowSDK.configure(with: sdkConfig)
          configureAnalytics()
      } catch {
          debugPrint("Could not initialize NowSDK. Error: \(error.localizedDescription)")
      }
    }

    NowWeb : makeWebService(instanceUrl : URL)

    Crée une instance de NowWebService à l’aide de la configuration spécifiée précédemment.

    Remarque :
    Cette méthode a été déconseillée. Vous devez utiliser l’implémentation async/await de la méthode à la place.

    Vous devez initialiser le Kit de développement logiciel (SDK) avant d’appeler cette fonction, sinon le bloc de complétion est appelé avec une erreur sdkNotConfiguré . Pour initialiser le Kit de développement logiciel (SDK), appelez NowSDK.configure() avec la configuration souhaitée.

    Tableau 5. Paramètres
    Nom Type Description
    instanceUrl URL URL de l’instance dont les ServiceNow services Web doivent être accessibles par le service.
    Tableau 6. Renvoie
    Type Description
    AnyPublisher<NowWebService, NowServiceError> En cas de réussite, renvoie un objet NowWebService initialisé. En cas d’échec, renvoie un objet NowServiceError.

    func initializeWebService() {
      NowWeb.makeWebService(instanceUrl: instanceUrl)
        .sink { completion in
          if case .failure(let error) = completion {
            debugPrint("Web Service creation failed with error: \(error.localizedDescription)")
          }
        } receiveValue: { [weak self] service in
            self?.webService = service
        }
        .store(in: &subscriptions)
      }