---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowCoreService クラス - iOS

# NowCoreService クラス - iOS {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

NowCoreService クラスは、さまざまな SDK 機能サービスに基本的なサービスを提供します。このクラスは、NowSDK によってのみインスタンス化する必要があります。

Now Analytics や NowChat などの機能サービスは、NowSDK.core プロパティを介して共有コアインスタンスにアクセスできます。

## NowCoreService - accessTokenDidFail (サービス:NowService の場合) {#ariaid-title2}

指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合はそのトークンを返すか、エラーを返します。  
注:  
このメソッドは廃止されました。代わりに、メソッドの async/await 実装を使用する必要があります。
{#NCoreServ-accessTokenDidFail_O__table_p5n_vcb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | アクセストークンを要求する機能サービス。 |
[表 : 1. パラメーター]

{#NCoreServ-accessTokenDidFail_O__table_p5n_vcb_npb} {#NCoreServ-accessTokenDidFail_O__table_q5n_vcb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| AnyPublisher\<NowSDK.AccessToken、AccessTokenProviderError\> | 成功:有効なアクセストークン。 失敗:AccessTokenProviderError 可能な値： * ユーザーセッションエラー * アクセストークン取得に失敗しました * hostReturnedNoTokens:ゲストユーザーを示します |
[表 : 2. 返される内容]

{#NCoreServ-accessTokenDidFail_O__table_q5n_vcb_npb}  
<br />

    NowSDK.core()?.accessTokenDidFail(for: someService)
      .mapError { YourCustomError.accessTokenFailed($0) }

    .flatMap(self.handleFailedAccessToken())
      .eraseToAnyPublisher()

## NowCoreService - accessTokenDidFail (サービス:NowService の場合) async throws {#ariaid-title3}

指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合はそのトークンを返すか、エラーを返します。
{#NCoreServ-accessTokDidFail-async_O__table_p5n_vcb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | アクセストークンを要求する機能サービス。 |
[表 : 3. パラメーター]

{#NCoreServ-accessTokDidFail-async_O__table_p5n_vcb_npb} {#NCoreServ-accessTokDidFail-async_O__table_q5n_vcb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。有効なアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得中にエラーが発生したことを示します。 可能な値： * ユーザーセッションエラー * アクセストークン取得に失敗しました * hostReturnedNoTokens:ゲストユーザーを示します |
[表 : 4. 返される内容]

{#NCoreServ-accessTokDidFail-async_O__table_q5n_vcb_npb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    do {
        let accessToken = try await NowSDK.core()?.accessTokenDidFail(for: someService)
    } catch {
        self.handleFailedAccessToken(error)
    }

## NowCoreService - canRequestPermission(_ permission: DevicePermission) {#ariaid-title4}

サービスがデバイスのアクセス許可を要求できるかどうかをホスト アプリケーションに照会します。
この関数はアクセス許可を要求せず、デバイスのアクセス許可を照会できるかどうかのみを要求します。フィーチャ サービスは、この関数を呼び出して、目的のデバイス権限の要求が許可されているかどうかを判断する必要があります。
{#NCoreServ-canReqPermission_S__table_t4p_c1b_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| 権限 | デバイス権限 | 要求対象のデバイス。 可能な値 (大文字と小文字を区別)： * カメラ * 場所 * マイク * フォトライブラリー * speach認識 |
[表 : 5. パラメーター]

{#NCoreServ-canReqPermission_S__table_t4p_c1b_npb} {#NCoreServ-canReqPermission_S__table_u4p_c1b_npb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定されたデバイス権限の要求を SDK がホストアプリケーションに許可するかどうかを示すフラグ。 可能な値： * true:デバイスの権限を要求できます。 * false:デバイスの権限を要求できません。 |
[表 : 6. 返される内容]

{#NCoreServ-canReqPermission_S__table_u4p_c1b_npb}  
<br />

    extension AppDelegate: DevicePermissionDelegate {
      func canRequestPermission(_ permission: DevicePermission) -> Bool {
        return true
      }
    }

## NowCoreService - isGuestUser(サービス:NowService の場合) 非同期 {#ariaid-title5}

現在のユーザーがゲストユーザーかどうかを確認します。
{#NCoreServ-isGuestUser-async_O__table_ugj_4w2_lxb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | NowService | ゲスト ユーザー チェックを実行する機能サービス。 |
[表 : 7. パラメーター]

{#NCoreServ-isGuestUser-async_O__table_ugj_4w2_lxb} {#NCoreServ-isGuestUser-async_O__table_vgj_4w2_lxb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーがゲストユーザーかどうかを示すフラグ。 可能な値： * true:指定されたサービスの現在のユーザーはゲストユーザーです。 * false:指定されたサービスの現在のユーザーはゲストユーザーではありません。 |
[表 : 8. 返される内容]

{#NCoreServ-isGuestUser-async_O__table_vgj_4w2_lxb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)

## NowCoreService:refreshAllSettings() {#ariaid-title6}

アクティブなサーバーから再フェッチすることで、すべてのサービスのすべての SDK 設定を更新します。
更新されるたびに更新された SDK 設定値を受け取るには、 [NowCoreService - settingsPublisher (サービス用:NowService)](https://servicenow-prod.fluidtopics.net/AsMIpYqmBsXLQoCEUrzTKA#NCoreServ-settingsPublisher_O "指定されたサービスの公開者の設定を取得します。") 関数によって提供される発行元をサブスクライブします。
{#NCoreServ-refreshAllSettings__table_ckb_zgb_npb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 9. パラメーター]

{#NCoreServ-refreshAllSettings__table_ckb_zgb_npb} {#NCoreServ-refreshAllSettings__table_dkb_zgb_npb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 10. 返される内容]

{#NCoreServ-refreshAllSettings__table_dkb_zgb_npb}  
<br />

    NowSDK.core()?.refreshAllSettings()

## NowCoreService - refreshSettings(サービス用:NowService) {#ariaid-title7}

指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
注:  
このメソッドは廃止されました。代わりに、メソッドの async/await 実装を使用する必要があります。
{#NCoreServ-refreshSettings_S__table_qv3_knb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
[表 : 11. パラメーター]

{#NCoreServ-refreshSettings_S__table_qv3_knb_npb} {#NCoreServ-refreshSettings_S__table_rv3_knb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| AnyPublisher\<Settings、SettingsError\> | 成功:更新された SDK 設定のディクショナリ。フィーチャ サービスは、返されたデータを調べて、特定のフィーチャに関連する設定を確認する必要があります。 エラー: SettingsError - 発生したエラーの種類と説明。 可能な値： * フェッチエラー * fetchFailed * 無効な JSON * invalidProvider * 未承認 * ライセンスされていない sdk * 設定NotFound * 不明 |
[表 : 12. 返される内容]

{#NCoreServ-refreshSettings_S__table_rv3_knb_npb}  
<br />

    var subscriptions = Set<AnyCancellable>()
    NowSDK.core?.refreshSettings(for: someService)
      .sink(receiveCompletion: { completion in
        if case .failure(let error) = completion {
          print("Refresh failed with error:\ (error)")
        }
      }, receiveValue: { settings in
        print("Received refreshed settings:\ (settings)")
      })
      .store(in: &subscriptions)

## NowCoreService - refreshSettings(for service: NowService) async throws {#ariaid-title8}

指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
{#NCoreServ-refreshSettings-async_S__table_qv3_knb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
[表 : 13. パラメーター]

{#NCoreServ-refreshSettings-async_S__table_qv3_knb_npb} {#NCoreServ-refreshSettings-async_S__table_rv3_knb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| 設定 | メソッドが成功したときに返されます。更新された SDK 設定のディクショナリ。フィーチャ サービスは、返されたデータを調べて、特定のフィーチャに関連する設定を確認する必要があります。 |
| 設定エラー | メソッドが失敗したときにスローされます。 可能な値： * フェッチエラー * fetchFailed * 無効な JSON * invalidProvider * 未承認 * ライセンスされていない sdk * 設定NotFound * 不明 |
[表 : 14. 返される内容]

{#NCoreServ-refreshSettings-async_S__table_rv3_knb_npb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    do {
        let settings = try await NowSDK.core()?.refreshSettings(for: someService)
        print("Received refreshed settings: \(settings)")
    } catch {
        print("Refresh failed with Settings error: \(error)")
    }

## NowCoreService - requestAccessToken (サービス用:NowService) {#ariaid-title9}

指定されたサービスのアクセストークンを取得します。
注:  
このメソッドは廃止されました。代わりに、メソッドの async/await 実装を使用する必要があります。
{#NCoreServ-requestAccessToken_O__table_dt1_ftb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | アクセストークンを要求する機能サービス。 |
[表 : 15. パラメーター]

{#NCoreServ-requestAccessToken_O__table_dt1_ftb_npb} {#NCoreServ-requestAccessToken_O__table_et1_ftb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| AnyPublisher\<NowSDK.AccessToken、AccessTokenProviderError\> | 成功:NowSDK.AccessToken - ServiceNow インスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 Failure: AccessTokenProviderError - 発生したエラーのタイプと説明。 可能な値： * アクセストークン取得に失敗しました * hostReturnedNoTokens :ゲストユーザーを示します * ユーザーセッションエラー |
[表 : 16. 返される内容]

{#NCoreServ-requestAccessToken_O__table_et1_ftb_npb}  
<br />

    NowSDK.core()?.requestAccessToken(for: someService)

## NowCoreService - requestAccessToken(サービス:NowService の場合) async throws {#ariaid-title10}

指定されたサービスのアクセストークンを取得します。
{#NCoreServ-requestAccessToken-async_O__table_dt1_ftb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | アクセストークンを要求する機能サービス。 |
[表 : 17. パラメーター]

{#NCoreServ-requestAccessToken-async_O__table_dt1_ftb_npb} {#NCoreServ-requestAccessToken-async_O__table_et1_ftb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。ServiceNowインスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得中にエラーが発生したことを示します。 可能な値： * アクセストークン取得に失敗しました * hostReturnedNoTokens :ゲストユーザーを示します * ユーザーセッションエラー |
[表 : 18. 返される内容]

{#NCoreServ-requestAccessToken-async_O__table_et1_ftb_npb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    do {
        let accessToken = try await NowSDK.core()?.requestAccessToken(for: someService)
    } catch {
        self.handleFailedAccessToken(error)
    }

## NowCoreService - requestNetworkService (サービス:NowService の場合) {#ariaid-title11}

API 要求を行うために使用できる共有ネットワークサービスへの参照を返します。
注:  
これは共有サービスです。設定を変更したり、セッションを終了したりすると、このセッションを共有する他のフィーチャ サービスに問題が発生する可能性があります。
{#NCoreServ-reqNetworkService_O__table_zmb_tpb_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | ネットワークサービスを要求する機能サービス。 |
[表 : 19. パラメーター]

{#NCoreServ-reqNetworkService_O__table_zmb_tpb_npb} {#NCoreServ-reqNetworkService_O__table_dkb_zgb_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| ネットワークサービス | API 呼び出しに使用できる共有ネットワークサービス。 |
[表 : 20. 返される内容]

{#NCoreServ-reqNetworkService_O__table_dkb_zgb_npb}  
次のコード例は、この関数を呼び出す方法を示しています。

    NowSDK.core()?.settingsPublisher(for: chatService)
    .sink(receiveCompletion: { completion in
      if case .failure(let error) = completion {
        // Setting publisher failed with error
      }
    }, receiveValue: { updatedSettings in
      // Receive array of SDK settings for chatService
    })
    .store(in: &subscriptions)

## NowCoreService - requestSettings(forservice: NowService) {#ariaid-title12}

指定された機能サービスの SDK 設定を返します。
注:  
このメソッドは廃止されました。代わりに、メソッドの async/await 実装を使用する必要があります。
{#NCoreServ-requestSettings_O__table_qwv_s5b_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | NowService | 設定を要求する機能サービス。 |
[表 : 21. パラメーター]

{#NCoreServ-requestSettings_O__table_qwv_s5b_npb} {#NCoreServ-requestSettings_O__table_rwv_s5b_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| AnyPublisher\<Settings、SettingsError\> | 成功: 設定 - 指定された機能サービスの SDK 設定のアレイ。 失敗:SettingsError - 関連するエラーのタイプと説明。 可能な値： * フェッチエラー * fetchFailed * 無効な JSON * invalidProvider * 未承認 * ライセンスされていない sdk * 設定NotFound * 不明 |
[表 : 22. 返される内容]

{#NCoreServ-requestSettings_O__table_rwv_s5b_npb}  
<br />

    NowSDK.core()?.requestSettings(for: someService)

## NowCoreService - requestSettings(for service: NowService) async throws {#ariaid-title13}

指定された機能サービスの SDK 設定を返します。
{#NCoreServ-requestSettings-async_O__table_qwv_s5b_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | NowService | 設定を要求する機能サービス。 |
[表 : 23. パラメーター]

{#NCoreServ-requestSettings-async_O__table_qwv_s5b_npb} {#NCoreServ-requestSettings-async_O__table_rwv_s5b_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| 設定 | メソッドが成功したときに返されます。指定された機能サービスの SDK 設定のアレイ。 |
| 設定エラー | メソッドが失敗したときにスローされます。関連するエラーのタイプと説明。 可能な値： * フェッチエラー * fetchFailed * 無効な JSON * invalidProvider * 未承認 * ライセンスされていない sdk * 設定NotFound * 不明 |
[表 : 24. 返される内容]

{#NCoreServ-requestSettings-async_O__table_rwv_s5b_npb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    do {
        let settings = try await NowSDK.core()?.requestSettings(for: someService)
        print("Received settings: \(settings)")
    } catch {
        print("Refresh saved with Settings error: \(error)")
    }

## NowCoreService - settingsPublisher (サービス用:NowService) {#ariaid-title14}

指定されたサービスの公開者の設定を取得します。
{#NCoreServ-settingsPublisher_O__table_jbw_j1c_npb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| サービス用 | [NowService プロトコル - iOS](https://servicenow-prod.fluidtopics.net/33BsNPsGmgS7C6ZCr49l4g#NowServiceiOSProtocol "NowService プロトコルは、すべての機能サービスに対して NowSDK への単一のインターフェイスを提供します。ServiceNowインスタンスにアクセスするために必要な設定パラメーターを定義します。") | 公開者サブスクリプションを要求するフィーチャ サービス。 |
[表 : 25. パラメーター]

{#NCoreServ-settingsPublisher_O__table_jbw_j1c_npb} {#NCoreServ-settingsPublisher_O__table_kbw_j1c_npb__entry__2}

| タイプ | Description (説明) |
|-|-|
| AnyPublisher\<Settings、Never\> | 成功: 設定 - 指定された機能サービスの SDK 設定のアレイ。 |
[表 : 26. 返される内容]

{#NCoreServ-settingsPublisher_O__table_kbw_j1c_npb}  
次のコード例は、この関数を呼び出す方法を示しています。

    NowSDK.core()?.settingsPublisher(for: chatService)
    .sink(receiveCompletion: { completion in
      if case .failure(let error) = completion {
        // Setting publisher failed with error
      }
    }, receiveValue: { updatedSettings in
      // Receive array of SDK settings for chatService
    })
    .store(in: &subscriptions)


