---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ServiceNowインスタンス内のテーブルデータの操作

# ServiceNowインスタンス内のテーブルデータの操作 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：7分

Mobile SDKを使用すると、ServiceNow インスタンスに存在するテーブル内のデータを操作できます。このデータを操作するには、REST インターフェイスを直接呼び出す NowTableService() API を使用する ServiceNow REST テーブル API を使用するか、REST GraphQL API に対して指定された GraphQL クエリを実行する NowGraphQLService() API を使用します。
1 回の呼び出しで複数のテーブルからデータを返す場合は、 NowGraphQLService() API を使用する必要があります。テーブル API 以外のServiceNow REST API とやり取りする必要がある場合は、「[ServiceNow インスタンスでのパブリック REST API とのやり取り](https://servicenow-prod.fluidtopics.net/oHz0Ua1ateRDk8tgojBGdA "この Mobile SDK は、 Android アプリケーションが ServiceNow インスタンスでパブリック REST API を呼び出せるようにする機能を提供します。")」を参照してください。

## NowGraphQLService を使用した ServiceNow テーブルとのやり取り {#mobsdk-and-interact_data_instance__section_kxm_wdf_hqb}

[NowGraphQLService](https://servicenow-prod.fluidtopics.net/6ZvIjlSMvX60Za6B3Q8_uA#NowGQLServiceAndroidInterface "NowGraphQLService インターフェイスは、GraphQL API を介してServiceNowに GraphQL 要求を行うことができる関数を提供します。") クラスは、ログインしているユーザーに適切な権限がある場合に、ServiceNow インスタンス内の指定されたテーブルで GraphQL クエリを構築して実行できるようにするメソッドを提供します。すべての CRUD 操作は、GraphQL クエリ内で定義できます。  
次の例は、NowData フレームワークをインポートし、 ServiceNow インスタンス内のテーブルを操作するために使用できる NowGraphQLService オブジェクトを初期化する方法を示しています。

    /**
     * Helper class used to handle different Now service instances.
     */
    @Singleton
    class SdkManager @Inject constructor() {

        private var nowGraphQLService: NowGraphQLService? = null

        /**
         * Create the NowGraphQLService once in the lifetime of the application inside the Application class or another manager class
         * that will be injected into other classes via dagger/hilt.
         * NowGraphQLService should be created after initializing the NowSDK
         */
        suspend fun getNowGraphQLService(): NowGraphQLService? {
            if (nowGraphQLService != null) return nowGraphQLService

            return NowDataSDK.makeGraphQLService(URL("https://instance-name.service-now.com")).getOrThrow()
                .also { this.nowGraphQLService = it }
        }
    }

この例では、GraphQL クエリを使用して公開された KB 記事を取得する方法を示します。

    suspend fun loadList() = withContext(Dispatchers.IO) {
        val kbArticlesQuery = """
        { 
            GlideRecord_Query {
                kb_knowledge(queryConditions: "active=true^ORDERBYpublishedDESC"
                pagination:{ limit: 10, offset: 0 }) {
                    _results {
                        sys_id { value },
                        number { displayValue },
                        short_description { displayValue },
                        author { displayValue }
                        published { displayValue }
                    }
                }
            }
         }
     """
        val graphQLService = sdkManager.getNowGraphQLService()

        //graphQLService?.graphQLRequest(kbArticlesQuery)?.execute() can also be used
        graphQLService?.graphQLRequest(kbArticlesQuery)?.enqueue(
            { response ->
                response.body?.let {
                    val resultString = String(it)
                }

            }, { nowDataError ->
                //handle error
            })
    }

## NowTableService を使用した ServiceNow テーブルの操作 {#mobsdk-and-interact_data_instance__section_fgn_gy2_hqb}

[NowTableService](https://servicenow-prod.fluidtopics.net/RfM8JG23~Ll5fRotnQSKVA#NowTableServiceAndroidInterface "NowTableService インターフェイスは、ServiceNowインスタンスのテーブル内のレコードを作成、読み取り、削除、および更新できるようにする機能を提供します。") クラスは、ServiceNow インスタンスに存在するテーブル内のレコードに対して CRUD 操作を実行するメソッドを提供します。このインターフェイスを介して、ログインしているユーザーが許可されている ServiceNow テーブル内の任意のレコードに直接アクセスできます。NowTableService は、参照フィールドのドット連結をサポートしています。たとえば、テーブルにユーザーテーブルへの参照が含まれている場合、ドット連結された値 `user.name` はユーザーの名前を返します。

要求されたデータを返すと、該当するすべてのアクセス制御リスト (ACL) がデータに適用されるため、結果が予想よりも少なくなるか、認証されたユーザーが指定されたテーブルへのアクセス権を持っていない場合は認証エラーが発生する可能性があります。  
次の例は、 NowData フレームワークをインポートし、インスタンステーブルの操作に使用できる NowTableServce オブジェクト ServiceNow 初期化する方法を示しています。

    /**
     * Helper class used to handle different Now service instances. It has an application scope or is Singleton
     */
    @Singleton
    class SdkManager @Inject constructor() {

        private var nowTableService: NowTableService? = null

        /**
         * Create the NowTableService once in the lifetime of the application inside the Application class or another manager class
         * that will be injected into other classes via dagger/hilt.
         * NowTableService should be created after initializing the NowSDK
         */
        suspend fun getNowTableService(): NowTableService? {
            if (nowTableService != null) return nowTableService

            return NowDataSDK.makeTableService(URL("https://instance-name.service-now.com")).getOrThrow()
                .also { this.nowTableService = it }
        }
     }    


    suspend fun loadCases() = withContext(Dispatchers.IO) {
        val tableService = sdkManager.getNowTableService()

        //configure what data to pass back
        val fetchConfiguration =  FetchConfiguration(Filter("active=true"), 10)

        val response = runCatching {
            tableService?.records(
                "sn_customerservice_case",
                fetchConfiguration
            )?.execute()
        }

        if (response.isSuccess) {
            val resultString = response.getOrNull()?.body?.let { String(it) }
        } else {
            //handle unsuccessful result
        }
    }

利用可能な NowTableService メソッドを使用したその他のコード例については、 [NowTableService](https://servicenow-prod.fluidtopics.net/RfM8JG23~Ll5fRotnQSKVA#NowTableServiceAndroidInterface "NowTableService インターフェイスは、ServiceNowインスタンスのテーブル内のレコードを作成、読み取り、削除、および更新できるようにする機能を提供します。") API ドキュメントを参照してください。

