NowWeb API - iOS

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • NowWeb API は、ユーザーが NowWeb サービスインスタンスをインスタンス化できるようにするトップレベルのグローバル API です。

    NowWeb - makeWebService(instanceUrl: URL) async throws

    前に指定した構成を使用して NowWebService のインスタンスを作成します。

    この関数を呼び出す前に SDK を初期化する必要があり、そうでない場合は完了ブロックが sdkNotConfigured エラーで呼び出されます。SDK を初期化するには、必要な構成で NowSDK.configure() を呼び出します。

    表 : 1. パラメーター
    名前 タイプ Description (説明)
    instanceUrl URL サービスから Web サービスがアクセスされる ServiceNow インスタンスの URL。
    表 : 2. 返される内容
    タイプ Description (説明)
    NowWeb サービス 成功した場合は、初期化された NowWebService オブジェクトを返します。
    NowServiceError メソッドが失敗した場合は、次のいずれかのエラーをスローします。
    可能な値:
    • sdkNotConfigured
    • serviceConfigurationInvalid
    • serviceDisabled
    • serviceSettingsInvalid
    • serviceSettingsNotFound
    • serviceSettingsRetrievalFailed

    次のコード例は、このメソッドを呼び出す方法を示しています。

    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, completion: @escaping ((Result<NowWebService, NowServiceError>) -> Void))

    前に指定した構成を使用して NowWebService のインスタンスを作成します。終了すると、指定された完了ハンドラーを呼び出します。

    この関数を呼び出す前に SDK を初期化する必要があり、そうでない場合は完了ブロックが sdkNotConfigured エラーで呼び出されます。SDK を初期化するには、必要な構成で NowSDK.configure() を呼び出します。

    表 : 3. パラメーター
    名前 タイプ Description (説明)
    instanceUrl URL サービスから Web サービスがアクセスされる ServiceNow インスタンスの URL。
    完了 @escaping ((Result<NowWebService, NowServiceError>) -> 無効) 初期化された NowWebService インスタンスまたは初期化が失敗した理由を示す NowServiceError のいずれかを含む Result<NowWebService、NowServiceError> で呼び出される完了ハンドラー。
    表 : 4. 返される内容
    タイプ 説明
    なし

    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)

    前に指定した構成を使用して NowWebService のインスタンスを作成します。

    注:
    このメソッドは廃止されました。代わりに、メソッドの async/await 実装を使用する必要があります。

    この関数を呼び出す前に SDK を初期化する必要があり、そうでない場合は完了ブロックが sdkNotConfigured エラーで呼び出されます。SDK を初期化するには、必要な構成で NowSDK.configure() を呼び出します。

    表 : 5. パラメーター
    名前 タイプ Description (説明)
    instanceUrl URL サービスから Web サービスがアクセスされる ServiceNow インスタンスの URL。
    表 : 6. 返される内容
    タイプ Description (説明)
    AnyPublisher<NowWebService、NowServiceError> 成功した場合は、初期化された NowWebService オブジェクトを返します。失敗した場合は、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)
      }