---
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


---

# NowAPIService インターフェイス - Android

# NowAPIService インターフェイス - Android {#ariaid-title1}

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

NowAPIService インターフェイスは、指定された ServiceNow REST API で要求を実行する機能を提供します。  
注:  
ゲストユーザーは、アクセスされる REST API がゲストユーザー用に構成されている場合にのみ、 NowAPIService インターフェイスに対して機能します。
{#NowAPIServiceAndroidInterface__table_vx2_klw_5pb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| 構成 | [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/xUPU640R0L1uwngzAjrqkw "NowServiceConfiguration クラスを使用すると、フィーチャ サービスのServiceNowインスタンス URL とパッケージ名を構成できます。") | プロトコルに関連付けるサービス構成。 |
[表 : 1. プロパティ]

{#NowAPIServiceAndroidInterface__table_vx2_klw_5pb}

## NowAPIService - data(endpoint: NowAPIService.Endpoint, queryParams: QueryParams, headers: Headers, body: String) {#ariaid-title2}

指定された ServiceNow インスタンスで指定された REST API を呼び出します。
{#NAPIServ-data_S_S_S_S__table_u3p_dkt_4pb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| endpoint | NowAPIService.Endpoint | 呼び出す REST エンドポイント。 |
| queryParams | クエリパラメーター | オプション。REST 呼び出しで渡すクエリパラメーターを含むクエリパラメーターオブジェクト。 デフォルト：null |
| ヘッダー | ヘッダー | オプション。REST 呼び出しで渡すヘッダーを含む Headers オブジェクト。 デフォルト：null |
| 本文 | 文字列 | オプション。REST 呼び出しに渡す要求本文とコンテンツタイプを含むオブジェクト。 デフォルト：null |
[表 : 2. パラメーター]

{#NAPIServ-data_S_S_S_S__table_u3p_dkt_4pb} {#NAPIServ-data_S_S_S_S__table_v3p_dkt_4pb__entry__2}

| タイプ | Description (説明) |
|-|-|
| [Call](https://servicenow-prod.fluidtopics.net/B9yfp0bhp_9Z2cEsUjZEIA#CallAndroidInterface "Call インターフェイスは、処理の準備が整った要求を表します。")\<[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/)\> | 呼び出された REST エンドポイントから結果を返します。 |
[表 : 3. 返される内容]

{#NAPIServ-data_S_S_S_S__table_v3p_dkt_4pb}  
<br />

    suspend fun loadCases(): List<CaseItem> = withContext(Dispatchers.IO) {
      val apiService = nowServiceManager.getNowAPIService()

      val result = runCatching {
        val response = apiService.data(NowAPIService.Endpoint(
          relativePath = CASES_API,
          requestMethod = HttpMethod.GET,
          requireAuth = true)
        ).execute()

        val byteArray = response.body ?: throw Exception("Null Result")
        val buffer = Buffer()
        val reader = JsonReader.of(buffer.write(byteArray))
        val listType = Types.newParameterizedType(
          List::class.java,
          CaseItem::class.java
        )

        val resultType = Types.newParameterizedType(
          ResultResponse::class.java,
          listType
        )
        val adapter = moshi.adapter<ResultResponse<List<CaseItem>>>(resultType)
        adapter.fromJson(reader)
      }

      if (result.isSuccess) {
          result.getOrNull()?.result ?: throw Exception("Cases not in response")
      } else {
          throw result.exceptionOrNull() ?: Exception("Error Cases")
      }
    }


