NowAttachmentService 인터페이스 - Android

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기7분
  • NowAttachmentService 인터페이스는 첨부 파일 및 관련 메타데이터를 조작할 수 있는 기능을 제공합니다.

    표 1. 속성
    이름 유형 설명
    구성 NowServiceConfiguration 서비스와 연결할 구성입니다.

    NowAttachmentService - attachment(sysId: 문자열, validateAttachment: 부울 = 예)

    지정된 sys_id로 첨부 파일을 조회하고 필요에 따라 첨부 파일의 계산된 해시를 예상 해시와 비교하여 첨부 파일의 유효성을 검사합니다.

    표 2. 매개변수
    이름 유형 설명
    sysID 문자열 검색할 첨부 파일의 Sys_id입니다. 인스턴스의 첨부 파일에 ServiceNow 대한 sys_id입니다.
    첨부 파일 확인 부울

    첨부 파일을 확인할지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 첨부 파일을 확인합니다.
    • false: 첨부 파일을 확인하지 않습니다.

    기본값: true

    표 3. 반환
    유형 설명
    호출<NowAttachment> 요청된 첨부 파일을 포함하는 NowAttachment 객체입니다.

    fun getAttachment(sysId: String, isValidateAttachment: Boolean) { 
      val call = attachmentService.attachment(sysId, isValidateAttachment) 
      call.enqueue( 
        { response -> 
          val attachment: NowAttachment? = response.body 
        }, 
          { nowDataError -> handleError(nowDataError) } 
      ) 
    }

    NowAttachmentService - attachmentMetadata(sysId: 문자열)

    지정된 sys_id와 연결된 첨부 파일에 대한 메타데이터를 검색합니다.

    표 4. 매개변수
    이름 유형 설명
    sysID 문자열 메타데이터를 검색하려는 첨부 파일의 Sys_id입니다.
    표 5. 반환
    유형 설명
    호출<NowAttachmentMetadata> 지정된 첨부 파일에 대한 메타데이터를 포함하는 객체입니다.
    fun fetchMetadata(sysId: String) { 
      val call = attachmentService.attachmentMetadata(sysId) 
      call.enqueue(
        { response -> 
          val metadata: NowAttachmentMetadata? = response.body 
        },
        { nowDataError -> handleError(nowDataError) } 
      )
    }

    NowAttachmentService - attachmentMetadata(필터: 필터? = null, 제한: Int? = null)

    지정된 기준을 충족하는 모든 첨부 파일에 대한 메타데이터를 검색합니다.

    표 6. 매개변수
    이름 유형 설명
    필터 필터 옵션입니다. 메타데이터가 반환될 첨부 파일을 필터링하는 데 사용할 쿼리 문자열입니다.

    기본값: null - 사용 가능한 모든 첨부 파일에 대한 메타데이터를 반환합니다. 매개 변수를 고려합니다 limit .

    제한 정수 옵션입니다. 반환할 첨부 파일의 메타데이터 최대 수입니다.

    기본값: null - 매개 변수 사양을 충족하는 filter 모든 메타데이터를 반환합니다.

    표 7. 반환
    유형 설명
    호출<List<NowAttachmentMetadata>> 일치하는 첨부 파일에 대한 메타데이터를 포함하는 객체의 목록입니다.
    fun fetchMultipleMetadata(filterQuery: String, limit: Int) { 
      val call = attachmentService.attachmentMetadata(Filter(filterQuery), limit) 
      call.enqueue( 
        { response -> 
          val metadataList: List<NowAttachmentMetadata>? = response.body 
        },
        { nowDataError -> handleError(nowDataError) } 
      )
    }

    NowAttachmentService - attachmentMetadataPaginator(filter: Filter? = null, limit: Int? = null)

    지정된 기준을 충족하는 모든 첨부 파일에 대한 메타데이터를 검색하고 반환된 메타데이터의 페이지를 반복하기 위한 페이지 매김기를 생성합니다.

    이 페이지 매김기를 사용하여 반환된 메타데이터를 탐색하여 첫 번째, 마지막, 이전 또는 다음 페이지를 가져오거나 다음 페이지가 있는지 또는 이전 페이지가 있는지 확인하는 등의 탐색 작업을 수행할 수 있습니다.

    표 8. 매개변수
    이름 유형 설명
    필터 필터 옵션입니다. 메타데이터가 반환될 첨부 파일을 필터링하는 데 사용할 쿼리 문자열입니다.

    기본값: null - 사용 가능한 모든 첨부 파일에 대한 메타데이터를 반환합니다. 매개 변수를 고려합니다 limit .

    제한 정수 옵션입니다. 반환할 첨부 파일의 메타데이터 최대 수입니다.

    기본값: null - 매개 변수 사양을 충족하는 filter 모든 메타데이터를 반환합니다.

    표 9. 반환
    유형 설명
    Paginator<NowAttachmentMetadata> 성공: 지정된 메타데이터 페이지와 함께 페이지 매김기 객체입니다.

    실패: NowDataError 객체.

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    suspend fun createAttachmentMetadataPaginator() {
      val filterQuery: String = "content_type=text/plain"
      val filter = filterQuery.let(::Filter)
      val limit = 10
      val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(filter, limit)
        ?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
          override fun onFailure(e: NowDataError) {
            handleError(e)
          }
    
          override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
            handleResponse(response)
          }
    
        })
        ?: throw Exception("Response is null")
    }

    NowAttachmentService - 삭제(sysId: 문자열)

    지정된 sys_id 있는 첨부 파일을 삭제합니다.

    표 10. 매개변수
    이름 유형 설명
    sysID 문자열 삭제할 첨부 파일의 Sys_id입니다.
    표 11. 반환
    유형 설명
    호출<ByteArray> 성공: 아무 것도 반환되지 않습니다.

    실패: NowDataError가 반환되었습니다.

    fun deleteAttachment(sysId: String) { 
      val call = attachmentService.delete(sysId) 
      call.enqueue( 
        { response -> handleResponse(response) }, 
        { nowDataError -> handleError(nowDataError) } 
      )
    } 

    NowAttachmentService - upload(데이터: ByteArray, 구성: NowAttachmentUploadConfiguration)

    지정된 기준을 충족하는 모든 첨부 파일에 대한 메타데이터를 검색하고 반환된 메타데이터의 페이지를 반복하기 위한 페이지 매김기를 만듭니다.

    표 12. 매개변수
    이름 유형 설명
    데이터 바이트 배열 구성 객체에 지정된 첨부 파일과 연결하고 업로드할 메타데이터입니다.
    구성 NowAttachmentUploadConfiguration 구성 매개변수를 업로드합니다.
    표 13. 반환
    유형 설명
    NowAttachmentMetadata 업로드된 메타데이터입니다.
    fun uploadAttachment(tableName: String, recordSysId: String, fileName: String) { 
      val bitmap = BitmapFactory.decodeResource(resources, R.drawable.test_image) 
      val data = bitmap.compress(ImageType.JPEG) 
      val contentType = "image/jpg" 
      val config = NowAttachmentUploadConfiguration(tableName, recordSysId, fileName, contentType) 
      val call = attachmentService.upload(data, config) 
     
      call.enqueue( 
        { response -> 
          val uploadedAttachmentMetadata: NowAttachmentMetadata? = response.body 
        },
        { nowDataError -> handleError(nowDataError) } 
      )
    }