본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Google Drive 컴포넌트

원문 보기 위키 갱신

Google Drive 컴포넌트는 Google Drive 파일 스토리지 서비스를 Google Drive Web API를 통해 다룰 수 있게 해 주는 컴포넌트예요. 파일·공유 드라이브·권한·댓글·답글·리비전 같은 연산이 9개 API로 나뉘어 제공되고, producer와 consumer를 모두 지원해요. 인증은 OAuth 2.0 자격 증명(clientId, clientSecret, refreshToken)이나 서비스 계정 키(serviceAccountKey)로 설정합니다.

출처: 문서

본문

Camel 2.14부터 지원

producer와 consumer 모두 지원

Google Drive 컴포넌트는 Google Drive Web APIs를 통해 Google Drive 파일 스토리지 서비스에 접근하게 해 줘요.

Google Drive는 Google 계정 인증과 사용자 데이터 접근 승인에 OAuth 2.0 프로토콜을 사용해요. 이 컴포넌트를 쓰려면 먼저 계정을 만들고 OAuth 자격 증명을 생성해야 해요. 자격 증명은 clientId, clientSecret, refreshToken으로 이루어져요. 수명이 긴 refreshToken을 만들 때는 OAuth playground가 요긴한 도구예요.

서비스 계정의 경우 자격 증명은 JSON 파일(serviceAccountKey) 하나로 이루어져요. 도메인 전체 권한 위임(delegate)을 쓸 수도 있고, Drive API (V2) 인증 스코프를 하나, 여러 개, 또는 전부 지정할 수도 있어요.

Maven 사용자는 이 컴포넌트를 쓰려면 pom.xml에 다음 의존성을 추가해야 해요:

<dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-google-drive</artifactId>
        <!-- use the same version as your Camel core version -->
        <version>x.x.x</version>
</dependency>

URI 형식 (URI Format)

GoogleDrive 컴포넌트는 다음 URI 형식을 사용해요:

google-drive://endpoint-prefix/endpoint?[options]

옵션 설정 방법 (Configuring Options)

Camel 컴포넌트는 두 단계로 나눠 설정합니다:

  • 컴포넌트(component) 레벨

  • 엔드포인트(endpoint) 레벨

컴포넌트 옵션 설정 (Configuring Component Options)

컴포넌트 레벨에서는 엔드포인트들이 이어서 물려받는 일반적이고 공유되는 설정을 해요. 가장 상위의 설정 레벨이죠.

예를 들어 컴포넌트에는 보안 설정, 인증용 자격 증명, 네트워크 연결 URL 같은 것들이 있을 수 있어요.

컴포넌트에 따라 옵션이 몇 개뿐인 것도 있고 아주 많은 것도 있어요. 컴포넌트는 보통 널리 쓰이는 기본값이 미리 설정되어 있어서, 몇 가지 옵션만 설정하거나 아예 하나도 건드리지 않아도 되는 경우가 많아요.

컴포넌트는 다음 방법으로 설정할 수 있어요:

  • the Component DSL.

  • 설정 파일(application.properties, *.yaml 파일 등).

  • Java 코드에서 직접.

엔드포인트 옵션 설정 (Configuring Endpoint Options)

엔드포인트는 옵션이 많아서 설정에 시간을 더 쓰게 될 거예요. 이 옵션들이 엔드포인트가 원하는 일을 하도록 커스터마이즈해 줘요. 옵션은 엔드포인트가 consumer(from)로 쓰이는지, producer(to)로 쓰이는지, 둘 다인지에 따라 분류되기도 해요.

엔드포인트 설정은 대부분 엔드포인트 URI에 _path_와 query 파라미터로 바로 하는 경우가 많아요. Java에서 엔드포인트와 데이터 포맷을 _타입 세이프_하게 설정하려면 Endpoint DSL과 DataFormat DSL을 쓸 수도 있어요.

옵션을 설정할 때 좋은 습관은 Property Placeholders를 사용하는 거예요.

프로퍼티 플레이스홀더는 이런 장점이 있어요:

  • URL, 포트 번호, 민감한 정보 같은 설정을 하드코딩하는 걸 막아 줘요.

  • 설정을 코드 밖으로 분리할 수 있어요.

  • 코드가 더 유연해지고 재사용하기 좋아져요.

다음 두 섹션에서 모든 옵션을 나열해요. 먼저 컴포넌트 옵션, 그다음 엔드포인트 옵션 순서예요.

컴포넌트 옵션 (Component Options)

Google Drive 컴포넌트가 지원하는 옵션은 아래와 같아요.

Name Description Default Type
applicationName (common) Google 드라이브 애플리케이션 이름이에요. 예를 들면 camel-google-drive/1.0 같은 식이에요. String
clientId (common) 드라이브 애플리케이션의 클라이언트 ID예요. String
configuration (common) 공유 설정(shared configuration)을 사용해요. GoogleDriveConfiguration
delegate (common) 도메인 전체 권한을 가진 서비스 계정의 위임자(delegate)예요. String
scopes (common) 캘린더 애플리케이션이 사용자 계정에 대해 갖기를 원하는 권한 수준을 지정해요. 자세한 내용은 https://developers.google.com/identity/protocols/googlescopes를 참고하세요. 스코프가 여러 개면 쉼표로 구분하면 돼요. String
bridgeErrorHandler (consumer) 컨슈머를 Camel 라우팅 에러 핸들러(Error Handler)에 브리지할 수 있게 해 줘요. 즉, Camel 컨슈머가 들어오는 메시지를 집어 올리는 동안 등에서 예외가 발생하면(가능한 경우), 그 예외를 메시지로 처리해서 라우팅 에러 핸들러가 다루게 돼요. 중요: 이것은 서드파티 컴포넌트가 예외가 던져졌을 때 Camel에 알릴 수 있도록 허용하는 경우에만 가능해요. 일부 컴포넌트는 내부에서만 처리하기 때문에 bridgeErrorHandler를 쓸 수 없어요. 다른 상황에서는 Camel 컴포넌트를 개선해서 서드파티 컴포넌트에 연결(hook)해 이를 가능하게 만들 수도 있어요. 기본으로 컨슈머는 org.apache.camel.spi.ExceptionHandler로 예외를 처리하는데, WARN 또는 ERROR 레벨로 로그를 남기고 무시해요. false boolean
lazyStartProducer (producer) 프로듀서를 느리게(lazy, 첫 메시지가 올 때) 시작할지 여부예요. 느리게 시작하면, 프로듀서가 시작 중에 실패해서 라우트 시작 자체가 실패하는 상황에서도 CamelContext와 라우트를 시작할 수 있어요. 시작을 늦춰 두면 실패가 발생했을 때 메시지를 라우팅하는 동안 Camel의 라우팅 에러 핸들러로 처리할 수 있죠. 단, 첫 메시지를 처리할 때 프로듀서를 만들고 시작하는 데 시간이 조금 걸려서 전체 처리 시간이 길어질 수 있다는 점은 감안하세요. false boolean
autowiredEnabled (advanced) 오토와이어링(autowiring)을 활성화할지 여부예요. 레지스트리에서 일치하는 타입의 인스턴스가 딱 하나 있는지 찾아서, 그 인스턴스로 오토와이어링 옵션(옵션이 autowired로 표시되어 있어야 함)을 자동 설정하는 데 쓰여요. JDBC 데이터 소스, JMS 커넥션 팩토리, AWS 클라이언트 등을 자동 설정할 때 사용할 수 있어요. true boolean
clientFactory (advanced) 클라이언트 생성 팩토리로 GoogleCalendarClientFactory를 사용해요. 기본으로는 BatchGoogleDriveClientFactory를 써요. GoogleDriveClientFactory
proxyHost (proxy) 프록시 서버 호스트예요. String
proxyPort (proxy) 프록시 서버 포트예요. Integer
accessToken (security) OAuth 2 액세스 토큰이에요. 보통 한 시간쯤 지나면 만료되므로, 오래 쓸 거면 refreshToken을 쓰는 게 좋아요. String
clientSecret (security) 드라이브 애플리케이션의 클라이언트 시크릿이에요. String
refreshToken (security) OAuth 2 리프레시 토큰이에요. 이걸 쓰면 현재 accessToken이 만료될 때마다 Google Drive 컴포넌트가 새 accessToken을 받아 와요. 애플리케이션이 오래 동작한다면 필수예요. String
serviceAccountKey (security) 애플리케이션을 서비스 계정으로 인증할 때 쓰는 JSON 형식의 서비스 계정 키예요. base64: 접두사를 붙이면 base64 값을 받아 들여요. String

엔드포인트 옵션 (Endpoint Options)

Google Drive 엔드포인트는 다음 URI 문법으로 설정해요:

google-drive:apiName/methodName

다음 _path_와 query 파라미터를 씁니다:

경로 파라미터 (Path Parameters)

Name Description Default Type
apiName (common)
필수 어떤 종류의 연산을 수행할지 정해요.

Enum values:

  • DRIVE_ABOUT

  • DRIVE_CHANGES

  • DRIVE_CHANNELS

  • DRIVE_COMMENTS

  • DRIVE_DRIVES

  • DRIVE_FILES

  • DRIVE_PERMISSIONS

  • DRIVE_REPLIES

  • DRIVE_REVISIONS

  • DRIVE_TEAMDRIVES

| | GoogleDriveApiName | | methodName (common) |

필수 선택한 연산에 쓸 하위 연산이에요.

Enum values:

  • copy

  • delete

  • get

  • getIdForEmail

  • insert

  • list

  • patch

  • stop

  • touch

  • trash

  • untrash

  • update

  • watch

| | String |

쿼리 파라미터 (Query Parameters)

Name Description Default Type
applicationName (common) Google 드라이브 애플리케이션 이름이에요. 예를 들면 camel-google-drive/1.0 같은 식이에요. String
clientFactory (common) 클라이언트 생성 팩토리로 GoogleCalendarClientFactory를 사용해요. 기본으로는 BatchGoogleDriveClientFactory를 써요. GoogleDriveClientFactory
clientId (common) 드라이브 애플리케이션의 클라이언트 ID예요. String
delegate (common) 도메인 전체 권한을 가진 서비스 계정의 위임자(delegate)예요. String
inBody (common) 교환(exchange)의 In Body로 넘길 파라미터 이름을 설정해요. String
scopes (common) 캘린더 애플리케이션이 사용자 계정에 대해 갖기를 원하는 권한 수준을 지정해요. 자세한 내용은 https://developers.google.com/identity/protocols/googlescopes를 참고하세요. 스코프가 여러 개면 쉼표로 구분하면 돼요. String
sendEmptyMessageWhenIdle (consumer) 폴링 컨슈머가 아무 파일도 가져오지 못했을 때 이 옵션을 켜면 빈 메시지(본문 없음)를 대신 보내 줘요. false boolean
bridgeErrorHandler (consumer (advanced)) 컨슈머를 Camel 라우팅 에러 핸들러(Error Handler)에 브리지할 수 있게 해 줘요. 즉, Camel 컨슈머가 들어오는 메시지를 집어 올리는 동안 등에서 예외가 발생하면(가능한 경우), 그 예외를 메시지로 처리해서 라우팅 에러 핸들러가 다루게 돼요. 중요: 이것은 서드파티 컴포넌트가 예외가 던져졌을 때 Camel에 알릴 수 있도록 허용하는 경우에만 가능해요. 일부 컴포넌트는 내부에서만 처리하기 때문에 bridgeErrorHandler를 쓸 수 없어요. 다른 상황에서는 Camel 컴포넌트를 개선해서 서드파티 컴포넌트에 연결(hook)해 이를 가능하게 만들 수도 있어요. 기본으로 컨슈머는 org.apache.camel.spi.ExceptionHandler로 예외를 처리하는데, WARN 또는 ERROR 레벨로 로그를 남기고 무시해요. false boolean
exceptionHandler (consumer (advanced)) 컨슈머가 커스텀 ExceptionHandler를 쓰게 할 수 있어요. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션은 사용되지 않는다는 점에 주의하세요. 기본으로 컨슈머는 예외를 처리하는데, WARN 또는 ERROR 레벨로 로그를 남기고 무시해요. ExceptionHandler
exchangePattern (consumer (advanced))
컨슈머가 교환(exchange)을 만들 때 교환 패턴을 설정해요.

Enum values:

  • InOnly

  • InOut

| | ExchangePattern | | pollStrategy (consumer (advanced)) | 꽂아 쓸 수 있는 org.apache.camel.PollingConsumerPollingStrategy예요. 커스텀 구현을 제공해서, Exchange가 만들어지고 Camel에서 라우팅되기 전에 폴링 동작 중에 주로 발생하는 에러 처리를 제어할 수 있어요. | | PollingConsumerPollStrategy | | lazyStartProducer (producer (advanced)) | 프로듀서를 느리게(lazy, 첫 메시지가 올 때) 시작할지 여부예요. 느리게 시작하면, 프로듀서가 시작 중에 실패해서 라우트 시작 자체가 실패하는 상황에서도 CamelContext와 라우트를 시작할 수 있어요. 시작을 늦춰 두면 실패가 발생했을 때 메시지를 라우팅하는 동안 Camel의 라우팅 에러 핸들러로 처리할 수 있죠. 단, 첫 메시지를 처리할 때 프로듀서를 만들고 시작하는 데 시간이 조금 걸려서 전체 처리 시간이 길어질 수 있다는 점은 감안하세요. | false | boolean | | backoffErrorThreshold (scheduler) | backoffMultipler가 동작하기 전에 연속으로 발생해야 하는 에러 폴링(오류로 실패한 폴링) 횟수예요. | | int | | backoffIdleThreshold (scheduler) | backoffMultipler가 동작하기 전에 연속으로 발생해야 하는 유휴(idle) 폴링 횟수예요. | | int | | backoffMultiplier (scheduler) | 연속으로 유휴/에러 폴링이 이어지면 예약 폴링 컨슈머가 백오프하도록 해요. multiplier 값은 다음 실제 시도 전에 건너뛸 폴링 횟수예요. 이 옵션을 쓸 때는 backoffIdleThreshold와/또는 backoffErrorThreshold도 함께 설정해야 해요. | | int | | delay (scheduler) | 다음 폴링 전에 기다리는 밀리초예요. | 500 | long | | greedy (scheduler) | greedy를 켜면 이전 폴링에서 1개 이상의 메시지를 가져왔을 때 ScheduledPollConsumer가 바로 다시 실행돼요. | false | boolean | | initialDelay (scheduler) | 첫 폴링이 시작되기 전에 기다리는 밀리초예요. | 1000 | long | | repeatCount (scheduler) | 최대 실행 횟수를 지정해요. 1로 두면 스케줄러가 한 번만 실행되고, 5로 두면 다섯 번만 실행해요. 0이나 음수는 계속 실행한다는 뜻이에요. | 0 | long | | runLoggingLevel (scheduler) |

컨슈머가 폴링할 때 시작/완료 로그 한 줄을 남겨요. 이 옵션으로 그 로그의 레벨을 설정할 수 있어요.

Enum values:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • OFF

| TRACE | LoggingLevel | | scheduledExecutorService (scheduler) | 컨슈머가 쓸 커스텀/공유 스레드 풀을 설정하게 해 줘요. 기본으로 컨슈머마다 단일 스레드 풀을 하나씩 가져요. | | ScheduledExecutorService | | scheduler (scheduler) | camel-spring이나 camel-quartz 컴포넌트의 cron 스케줄러를 쓸 때 사용해요. 내장 스케줄러로는 spring 또는 quartz 값을 쓰세요. | none | Object | | schedulerProperties (scheduler) | 커스텀 스케줄러나 Quartz·Spring 기반 스케줄러를 쓸 때 추가 프로퍼티를 설정해요. 접두사가 scheduler인 다중 값 옵션이에요. | | Map | | startScheduler (scheduler) | 스케줄러를 자동으로 시작할지 여부예요. | true | boolean | | timeUnit (scheduler) |

initialDelay와 delay 옵션의 시간 단위예요.

Enum values:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

| MILLISECONDS | TimeUnit | | useFixedDelay (scheduler) | 고정 지연(fixed delay)을 쓸지 고정 비율(fixed rate)을 쓸지 제어해요. 자세한 내용은 JDK의 ScheduledExecutorService를 보세요. | true | boolean | | accessToken (security) | OAuth 2 액세스 토큰이에요. 보통 한 시간쯤 지나면 만료되므로, 오래 쓸 거면 refreshToken을 쓰는 게 좋아요. | | String | | clientSecret (security) | 드라이브 애플리케이션의 클라이언트 시크릿이에요. | | String | | refreshToken (security) | OAuth 2 리프레시 토큰이에요. 이걸 쓰면 현재 accessToken이 만료될 때마다 Google Drive 컴포넌트가 새 accessToken을 받아 와요. 애플리케이션이 오래 동작한다면 필수예요. | | String | | serviceAccountKey (security) | 애플리케이션을 서비스 계정으로 인증할 때 쓰는 JSON 형식의 서비스 계정 키예요. base64: 접두사를 붙이면 base64 값을 받아 들여요. | | String |

API 파라미터 (9개 API)

Google Drive 엔드포인트는 API 기반 컴포넌트라서 어떤 API 이름과 API 메서드를 쓰느냐에 따라 추가 파라미터가 붙어요. API 이름과 API 메서드는 엔드포인트 URI에서 apiName/methodName 경로 파라미터 자리에 들어가요:

google-drive:apiName/methodName

API 이름은 아래 표와 같이 9개가 있어요:

API Name Type Description
drive-changes Both 변경 사항(changes) 메서드 컬렉션이에요.
drive-channels Both 채널(channels) 메서드 컬렉션이에요.
drive-comments Both 댓글(comments) 메서드 컬렉션이에요.
drive-drives Both 공유 드라이브(drives) 메서드 컬렉션이에요.
drive-files Both 파일(files) 메서드 컬렉션이에요.
drive-permissions Both 권한(permissions) 메서드 컬렉션이에요.
drive-replies Both 답글(replies) 메서드 컬렉션이에요.
drive-revisions Both 리비전(revisions) 메서드 컬렉션이에요.
drive-teamdrives Both 팀 드라이브(teamdrives) 메서드 컬렉션이에요.

각 API는 이어지는 다음 섹션에서 문서화돼 있어요.

API: drive-changes

producer와 consumer 모두 지원

drive-changes API는 다음 문법으로 정의돼요:

google-drive:drive-changes/methodName?[parameters]

3개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
getStartPageToken 이후 변경 사항을 나열할 때 쓰는 시작 pageToken을 가져와요.
list 사용자 또는 공유 드라이브의 변경 사항을 나열해요.
watch 사용자의 변경 사항을 구독해요.

Method getStartPageToken

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Changes.GetStartPageToken getStartPageToken();

google-drive/getStartPageToken API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 그 공유 드라이브에서 이후 변경 사항을 나열할 시작 pageToken이 반환될 공유 드라이브의 ID예요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
teamDriveId Deprecated: 대신 driveId를 쓰세요. String

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Changes.List list(String pageToken);

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 변경 사항을 돌려 받을 공유 드라이브예요. String
includeCorpusRemovals 요청 시점에 파일을 사용자가 여전히 접근할 수 있다면, 파일이 변경 목록에서 빠져 더 이상 변경 항목이 생기지 않는 경우에도 파일 리소스를 변경 사항에 포함할지 여부예요. Boolean
includeItemsFromAllDrives 결과에 내 드라이브와 공유 드라이브 항목을 모두 포함할지 여부예요. Boolean
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
includeRemoved 삭제나 접근 권한 상실처럼 항목이 변경 목록에서 빠졌음을 알리는 변경 사항도 포함할지 여부예요. Boolean
includeTeamDriveItems Deprecated: 대신 includeItemsFromAllDrives를 쓰세요. Boolean
pageSize 페이지당 돌려 받을 변경 사항의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. 이전 응답의 ‘nextPageToken’ 값이나 getStartPageToken 메서드의 응답 값을 설정해야 해요. String
restrictToMyDrive 결과를 내 드라이브 계층 안의 변경 사항으로 제한할지 여부예요. Boolean
spaces 코퍼라(corpus) 안에서 조회할 스페이스의 쉼표 구분 목록이에요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
teamDriveId Deprecated: 대신 driveId를 쓰세요. String

Method watch

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Changes.Watch watch(String pageToken, com.google.api.services.drive.model.Channel content);

google-drive/watch API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
contentChannel com.google.api.services.drive.model.Channel이에요. Channel
driveId 변경 사항을 돌려 받을 공유 드라이브예요. String
includeCorpusRemovals 요청 시점에 파일을 사용자가 여전히 접근할 수 있다면, 파일이 변경 목록에서 빠져 더 이상 변경 항목이 생기지 않는 경우에도 파일 리소스를 변경 사항에 포함할지 여부예요. Boolean
includeItemsFromAllDrives 결과에 내 드라이브와 공유 드라이브 항목을 모두 포함할지 여부예요. Boolean
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
includeRemoved 삭제나 접근 권한 상실처럼 항목이 변경 목록에서 빠졌음을 알리는 변경 사항도 포함할지 여부예요. Boolean
includeTeamDriveItems Deprecated: 대신 includeItemsFromAllDrives를 쓰세요. Boolean
pageSize 페이지당 돌려 받을 변경 사항의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. 이전 응답의 ‘nextPageToken’ 값이나 getStartPageToken 메서드의 응답 값을 설정해야 해요. String
restrictToMyDrive 결과를 내 드라이브 계층 안의 변경 사항으로 제한할지 여부예요. Boolean
spaces 코퍼라(corpus) 안에서 조회할 스페이스의 쉼표 구분 목록이에요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
teamDriveId Deprecated: 대신 driveId를 쓰세요. String

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-channels

producer와 consumer 모두 지원

drive-channels API는 다음 문법으로 정의돼요:

google-drive:drive-channels/methodName?[parameters]

1개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
stop 이 채널을 통한 리소스 감시를 중단해요.

Method stop

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Channels.Stop stop(com.google.api.services.drive.model.Channel content);

google-drive/stop API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
contentChannel com.google.api.services.drive.model.Channel이에요. Channel

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-comments

producer와 consumer 모두 지원

drive-comments API는 다음 문법으로 정의돼요:

google-drive:drive-comments/methodName?[parameters]

5개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
create 파일에 댓글을 만들어요.
delete 댓글을 삭제해요.
get ID로 댓글을 가져와요.
list 파일의 댓글을 나열해요.
update patch 의미론으로 댓글을 갱신해요.

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Comments.Create create(String fileId, com.google.api.services.drive.model.Comment content);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Comment예요. Comment
fileId 파일의 ID예요. String

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Comments.Delete delete(String fileId, String commentId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
fileId 파일의 ID예요. String

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Comments.Get get(String fileId, String commentId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
fileId 파일의 ID예요. String
includeDeleted 삭제된 댓글도 돌려 받을지 여부예요. Boolean

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Comments.List list(String fileId);

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
includeDeleted 삭제된 댓글도 포함할지 여부예요. Boolean
pageSize 페이지당 돌려 받을 댓글의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String
startModifiedTime 결과 댓글의 ‘modifiedTime’ 최솟값이에요(RFC 3339 날짜-시간). String

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Comments.Update update(String fileId, String commentId, com.google.api.services.drive.model.Comment content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
content com.google.api.services.drive.model.Comment예요. Comment
fileId 파일의 ID예요. String

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-drives

producer와 consumer 모두 지원

drive-drives API는 다음 문법으로 정의돼요:

google-drive:drive-drives/methodName?[parameters]

7개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
create 공유 드라이브를 만들어요.
delete 사용자가 오거나이저(organizer)인 공유 드라이브를 영구 삭제해요.
get ID로 공유 드라이브의 메타데이터를 가져와요.
hide 공유 드라이브를 기본 뷰에서 숨겨요.
list 사용자의 공유 드라이브를 나열해요.
unhide 공유 드라이브를 기본 뷰로 되돌려요.
update 공유 드라이브의 메타데이터를 갱신해요.

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Create create(String requestId, com.google.api.services.drive.model.Drive content);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Drive예요. Drive
requestId 필수. 이 사용자의 요청이 멱등하게 공유 드라이브를 만들도록 고유하게 식별하는 ID예요. 무작위 UUID 같은 값이면 충분해요. 같은 사용자가 같은 요청 ID로 다시 요청하면 같은 공유 드라이브를 만들려고 시도해서 중복 생성을 피할 수 있어요. 공유 드라이브가 이미 있으면 409 에러를 돌려 줘요. String

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Delete delete(String driveId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
allowItemDeletion 공유 드라이브 안의 항목들도 함께 삭제할지 여부예요. Boolean
driveId 공유 드라이브의 ID예요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 해당 공유 드라이브가 속한 도메인의 관리자일 때 접근이 허용돼요. Boolean

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Get get(String driveId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 공유 드라이브의 ID예요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 해당 공유 드라이브가 속한 도메인의 관리자일 때 접근이 허용돼요. Boolean

Method hide

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Hide hide(String driveId);

google-drive/hide API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 공유 드라이브의 ID예요. String

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.List list();

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
pageSize 페이지당 돌려 받을 공유 드라이브의 최대 개수예요. Integer
pageToken 공유 드라이브의 페이지 토큰이에요. String
q 공유 드라이브를 검색할 쿼리 문자열이에요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 관리자인 도메인의 모든 공유 드라이브가 돌아와요. Boolean

Method unhide

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Unhide unhide(String driveId);

google-drive/unhide API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 공유 드라이브의 ID예요. String

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Drives.Update update(String driveId, com.google.api.services.drive.model.Drive content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Drive예요. Drive
driveId 공유 드라이브의 ID예요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 해당 공유 드라이브가 속한 도메인의 관리자일 때 접근이 허용돼요. Boolean

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-files

producer와 consumer 모두 지원

drive-files API는 다음 문법으로 정의돼요:

google-drive:drive-files/methodName?[parameters]

13개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
copy 파일 사본을 만들고, 요청된 갱신을 patch 의미론으로 적용해요.
create 파일을 만들어요.
delete 사용자가 소유한 파일을 휴지통으로 보내지 않고 영구 삭제해요.
download 파일 내용을 내려받아요.
emptyTrash 사용자가 휴지통에 버린 파일을 모두 영구 삭제해요.
export Google Workspace 문서를 요청한 MIME 타입으로 내보내고, 내보낸 바이트 내용을 돌려 줘요.
generateIds create나 copy 요청에 쓸 수 있는 파일 ID 묶음을 생성해요.
get ID로 파일의 메타데이터나 내용을 가져와요.
list 사용자의 파일을 나열해요.
listLabels 파일에 붙은 라벨을 나열해요.
modifyLabels 파일에 적용된 라벨 집합을 수정해요.
update 파일의 메타데이터, 내용, 또는 둘 다를 갱신해요.
watch 파일 변경 사항을 구독해요.

Method copy

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Copy copy(String fileId, com.google.api.services.drive.model.File content);

google-drive/copy API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
enforceSingleParent Deprecated: 파일을 여러 폴더로 복사하는 기능은 더 이상 지원되지 않아요. Boolean
file com.google.api.services.drive.model.File예요. File
fileId 파일의 ID예요. String
ignoreDefaultVisibility 만들어지는 파일에 도메인의 기본 표시 여부 설정을 무시할지 여부예요. Boolean
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
keepRevisionForever 새 head 리비전에서 keepForever 필드를 설정할지 여부예요. Boolean
ocrLanguage 이미지 가져오기(import) 중 OCR 처리에 쓰는 언어 힌트예요(ISO 639-1 코드). String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Create create(com.google.api.services.drive.model.File content);

  • com.google.api.services.drive.Drive.Files.Create create(com.google.api.services.drive.model.File content, com.google.api.client.http.AbstractInputStreamContent mediaContent);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.File 미디어 메타데이터예요. 없으면 null이에요. File
enforceSingleParent Deprecated: 파일을 여러 폴더에 만드는 기능은 더 이상 지원되지 않아요. Boolean
ignoreDefaultVisibility 만들어지는 파일에 도메인의 기본 표시 여부 설정을 무시할지 여부예요. Boolean
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
keepRevisionForever 새 head 리비전에서 keepForever 필드를 설정할지 여부예요. Boolean
mediaContent 미디어 HTTP 콘텐츠예요. AbstractInputStreamContent
ocrLanguage 이미지 가져오기(import) 중 OCR 처리에 쓰는 언어 힌트예요(ISO 639-1 코드). String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
useContentAsIndexableText 업로드한 내용을 색인 가능한 텍스트로 쓸지 여부예요. Boolean

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Delete delete(String fileId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
enforceSingleParent Deprecated: 항목이 공유 드라이브에 있지 않은데 마지막 부모가 삭제되고 항목 자체는 남으면, 항목이 소유자의 루트 아래로 옮겨져요. Boolean
fileId 파일의 ID예요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean

Method download

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Download download(String fileId);

google-drive/download API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 필수. 내려받을 파일의 ID예요. String
mimeType 선택 사항이에요. String
revisionId 선택 사항이에요. String

Method emptyTrash

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.EmptyTrash emptyTrash();

google-drive/emptyTrash API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
driveId 설정하면 지정한 공유 드라이브의 휴지통을 비워요. String
enforceSingleParent Deprecated: 항목이 공유 드라이브에 있지 않은데 마지막 부모가 삭제되고 항목 자체는 남으면, 항목이 소유자의 루트 아래로 옮겨져요. Boolean

Method export

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Export export(String fileId, String mimeType);

google-drive/export API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
mimeType 필수. 이 내보내기에서 요청하는 형식의 MIME 타입이에요. 지원되는 MIME 타입 목록은 Google Workspace 문서의 내보내기 MIME 타입(/workspace/drive/api/guides/ref- export-formats)을 참고하세요. String

Method generateIds

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.GenerateIds generateIds();

google-drive/generateIds API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
count 돌려 받을 ID의 개수예요. Integer
space 발급된 ID로 파일을 만들 수 있는 스페이스예요. String
type ID를 쓸 수 있는 항목의 타입이에요. String

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Get get(String fileId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
acknowledgeAbuse 알려진 멀웨어나 악성 파일을 내려받는 위험을 사용자가 인지했는지 여부예요. Boolean
fileId 파일의 ID예요. String
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.List list();

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
corpora 쿼리가 적용될 항목(파일 또는 문서)의 모음이에요. String
corpus Deprecated: 나열할 파일의 출처예요. String
driveId 검색할 공유 드라이브의 ID예요. String
includeItemsFromAllDrives 결과에 내 드라이브와 공유 드라이브 항목을 모두 포함할지 여부예요. Boolean
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
includeTeamDriveItems Deprecated: 대신 includeItemsFromAllDrives를 쓰세요. Boolean
orderBy 정렬 키의 쉼표 구분 목록이에요. String
pageSize 페이지당 돌려 받을 파일의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String
q 파일 결과를 걸러 내는 쿼리예요. String
spaces 코퍼라(corpus) 안에서 조회할 스페이스의 쉼표 구분 목록이에요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
teamDriveId Deprecated: 대신 driveId를 쓰세요. String

Method listLabels

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.ListLabels listLabels(String fileId);

google-drive/listLabels API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
maxResults 페이지당 돌려 받을 라벨의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String

Method modifyLabels

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.ModifyLabels modifyLabels(String fileId, com.google.api.services.drive.model.ModifyLabelsRequest content);

google-drive/modifyLabels API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 라벨이 속한 파일의 ID예요. String
modifyLabelsRequest com.google.api.services.drive.model.ModifyLabelsRequest예요. ModifyLabelsRequest

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Update update(String fileId, com.google.api.services.drive.model.File content);

  • com.google.api.services.drive.Drive.Files.Update update(String fileId, com.google.api.services.drive.model.File content, com.google.api.client.http.AbstractInputStreamContent mediaContent);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
addParents 추가할 부모 ID의 쉼표 구분 목록이에요. String
enforceSingleParent Deprecated: 파일을 여러 폴더에 추가하는 기능은 더 이상 지원되지 않아요. Boolean
file com.google.api.services.drive.model.File 미디어 메타데이터예요. 없으면 null이에요. File
fileId 파일의 ID예요. String
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
keepRevisionForever 새 head 리비전에서 keepForever 필드를 설정할지 여부예요. Boolean
mediaContent 미디어 HTTP 콘텐츠예요. AbstractInputStreamContent
ocrLanguage 이미지 가져오기(import) 중 OCR 처리에 쓰는 언어 힌트예요(ISO 639-1 코드). String
removeParents 제거할 부모 ID의 쉼표 구분 목록이에요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
useContentAsIndexableText 업로드한 내용을 색인 가능한 텍스트로 쓸지 여부예요. Boolean

Method watch

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Files.Watch watch(String fileId, com.google.api.services.drive.model.Channel content);

google-drive/watch API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
acknowledgeAbuse 알려진 멀웨어나 악성 파일을 내려받는 위험을 사용자가 인지했는지 여부예요. Boolean
channel com.google.api.services.drive.model.Channel이에요. Channel
fileId 파일의 ID예요. String
includeLabels 응답의 labelInfo 부분에 포함할 라벨 ID의 쉼표 구분 목록이에요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-permissions

producer와 consumer 모두 지원

drive-permissions API는 다음 문법으로 정의돼요:

google-drive:drive-permissions/methodName?[parameters]

5개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
create 파일이나 공유 드라이브에 권한을 만들어요.
delete 권한을 삭제해요.
get ID로 권한을 가져와요.
list 파일 또는 공유 드라이브의 권한을 나열해요.
update patch 의미론으로 권한을 갱신해요.

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Permissions.Create create(String fileId, com.google.api.services.drive.model.Permission content);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Permission예요. Permission
emailMessage 알림 이메일에 담을 일반 텍스트 커스텀 메시지예요. String
enforceExpansiveAccess 요청에 확장적 접근 규칙(expansive access rules)을 적용할지 여부예요. Boolean
enforceSingleParent Deprecated: 자세한 내용은 moveToNewOwnersRoot를 참고하세요. Boolean
fileId 파일 또는 공유 드라이브의 ID예요. String
moveToNewOwnersRoot 이 파라미터는 항목이 공유 드라이브에 없고 요청이 항목 소유권 이전을 시도할 때만 효과가 있어요. Boolean
sendNotificationEmail 사용자나 그룹에 공유할 때 알림 이메일을 보낼지 여부예요. Boolean
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
transferOwnership 소유권을 지정한 사용자에게 넘기고 현재 소유자를 작성자(writer)로 격하할지 여부예요. Boolean
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. Boolean

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Permissions.Delete delete(String fileId, String permissionId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
enforceExpansiveAccess 요청에 확장적 접근 규칙(expansive access rules)을 적용할지 여부예요. Boolean
fileId 파일 또는 공유 드라이브의 ID예요. String
permissionId 권한의 ID예요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. Boolean

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Permissions.Get get(String fileId, String permissionId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
permissionId 권한의 ID예요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. Boolean

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Permissions.List list(String fileId);

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일 또는 공유 드라이브의 ID예요. String
includePermissionsForView 응답에 포함할 추가 뷰(view)의 권한을 지정해요. String
pageSize 페이지당 돌려 받을 권한의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. Boolean

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Permissions.Update update(String fileId, String permissionId, com.google.api.services.drive.model.Permission content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Permission예요. Permission
enforceExpansiveAccess 요청에 확장적 접근 규칙(expansive access rules)을 적용할지 여부예요. Boolean
fileId 파일 또는 공유 드라이브의 ID예요. String
permissionId 권한의 ID예요. String
removeExpiration 만료일을 제거할지 여부예요. Boolean
supportsAllDrives 요청하는 애플리케이션이 내 드라이브(My Drives)와 공유 드라이브를 모두 지원하는지 여부예요. Boolean
supportsTeamDrives Deprecated: 대신 supportsAllDrives를 쓰세요. Boolean
transferOwnership 소유권을 지정한 사용자에게 넘기고 현재 소유자를 작성자(writer)로 격하할지 여부예요. Boolean
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. Boolean

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-replies

producer와 consumer 모두 지원

drive-replies API는 다음 문법으로 정의돼요:

google-drive:drive-replies/methodName?[parameters]

5개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
create 댓글에 답글을 만들어요.
delete 답글을 삭제해요.
get ID로 답글을 가져와요.
list 댓글의 답글을 나열해요.
update patch 의미론으로 답글을 갱신해요.

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Replies.Create create(String fileId, String commentId, com.google.api.services.drive.model.Reply content);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
content com.google.api.services.drive.model.Reply예요. Reply
fileId 파일의 ID예요. String

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Replies.Delete delete(String fileId, String commentId, String replyId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
fileId 파일의 ID예요. String
replyId 답글의 ID예요. String

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Replies.Get get(String fileId, String commentId, String replyId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
fileId 파일의 ID예요. String
includeDeleted 삭제된 답글도 돌려 받을지 여부예요. Boolean
replyId 답글의 ID예요. String

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Replies.List list(String fileId, String commentId);

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
fileId 파일의 ID예요. String
includeDeleted 삭제된 답글도 포함할지 여부예요. Boolean
pageSize 페이지당 돌려 받을 답글의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Replies.Update update(String fileId, String commentId, String replyId, com.google.api.services.drive.model.Reply content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
commentId 댓글의 ID예요. String
content com.google.api.services.drive.model.Reply예요. Reply
fileId 파일의 ID예요. String
replyId 답글의 ID예요. String

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-revisions

producer와 consumer 모두 지원

drive-revisions API는 다음 문법으로 정의돼요:

google-drive:drive-revisions/methodName?[parameters]

4개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
delete 파일 버전을 영구 삭제해요.
get ID로 리비전의 메타데이터나 내용을 가져와요.
list 파일의 리비전을 나열해요.
update patch 의미론으로 리비전을 갱신해요.

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Revisions.Delete delete(String fileId, String revisionId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
revisionId 리비전의 ID예요. String

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Revisions.Get get(String fileId, String revisionId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
acknowledgeAbuse 알려진 멀웨어나 악성 파일을 내려받는 위험을 사용자가 인지했는지 여부예요. Boolean
fileId 파일의 ID예요. String
revisionId 리비전의 ID예요. String

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Revisions.List list(String fileId);

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
fileId 파일의 ID예요. String
pageSize 페이지당 돌려 받을 리비전의 최대 개수예요. Integer
pageToken 이전 목록 요청을 다음 페이지에서 이어갈 때 쓰는 토큰이에요. String

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Revisions.Update update(String fileId, String revisionId, com.google.api.services.drive.model.Revision content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.Revision예요. Revision
fileId 파일의 ID예요. String
revisionId 리비전의 ID예요. String

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

API: drive-teamdrives

producer와 consumer 모두 지원

drive-teamdrives API는 다음 문법으로 정의돼요:

google-drive:drive-teamdrives/methodName?[parameters]

5개 메서드가 아래 표에 나열되어 있고, 이어서 각 메서드의 상세 문법을 보여 줘요. (API 메서드는 문법에서 이름 대신 쓸 수 있는 짧은 _별칭_을 가질 수 있어요)

Method Alias Description
create Deprecated: drives를 쓰세요.
delete Deprecated: drives를 쓰세요.
get Deprecated: drives를 쓰세요.
list Deprecated: drives를 쓰세요.
update Deprecated: drives를 쓰세요.

Method create

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Teamdrives.Create create(String requestId, com.google.api.services.drive.model.TeamDrive content);

google-drive/create API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.TeamDrive예요. TeamDrive
requestId 필수. 이 사용자의 요청이 멱등하게 팀 드라이브를 만들도록 고유하게 식별하는 ID예요. 무작위 UUID 같은 값이면 충분해요. 같은 사용자가 같은 요청 ID로 다시 요청하면 같은 팀 드라이브를 만들려고 시도해서 중복 생성을 피할 수 있어요. 팀 드라이브가 이미 있으면 409 에러를 돌려 줘요. String

Method delete

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Teamdrives.Delete delete(String teamDriveId);

google-drive/delete API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
teamDriveId 팀 드라이브(Team Drive)의 ID예요. String

Method get

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Teamdrives.Get get(String teamDriveId);

google-drive/get API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
teamDriveId 팀 드라이브(Team Drive)의 ID예요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 해당 팀 드라이브가 속한 도메인의 관리자일 때 접근이 허용돼요. Boolean

Method list

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Teamdrives.List list();

google-drive/list API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
pageSize 돌려 받을 팀 드라이브의 최대 개수예요. Integer
pageToken 팀 드라이브의 페이지 토큰이에요. String
q 팀 드라이브를 검색할 쿼리 문자열이에요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 관리자인 도메인의 모든 팀 드라이브가 돌아와요. Boolean

Method update

시그니처(Signatures):

  • com.google.api.services.drive.Drive.Teamdrives.Update update(String teamDriveId, com.google.api.services.drive.model.TeamDrive content);

google-drive/update API 메서드는 아래 표에 나열된 파라미터를 사용해요:

Parameter Description Type
content com.google.api.services.drive.model.TeamDrive예요. TeamDrive
teamDriveId 팀 드라이브(Team Drive)의 ID예요. String
useDomainAdminAccess 도메인 관리자로 요청을 보낼지예요. true면, 요청자가 해당 팀 드라이브가 속한 도메인의 관리자일 때 접근이 허용돼요. Boolean

위 파라미터 외에도 google-drive API는 쿼리 파라미터를 모두 쓸 수 있어요.

파라미터는 엔드포인트 URI에 담거나 메시지 헤더로 동적으로 줄 수도 있어요. 메시지 헤더 이름은 CamelGoogleDrive.parameter 형식이어야 해요. inBody 파라미터는 메시지 헤더를 덮어써요. 즉 엔드포인트 파라미터 inBody=myParameterNameHere가 CamelGoogleDrive.myParameterNameHere 헤더를 이기는 거죠.

참고 이 컴포넌트는 API 기반이라서 엔드포인트 옵션 외에도 Camel 접두사가 붙은 교환 헤더로 호출별(call) 파라미터를 넘길 수 있어요. 라우트가 신뢰할 수 없는 프로듀서의 메시지를 소비한다면, 메시지가 이 컴포넌트에 닿기 전에 신뢰 경계(trust boundary)에서 이 내부 헤더들을 걷어내세요 — 예를 들어 removeHeaders("Camel*")을 쓰면 발신자가 API 호출을 덮어쓸 수 없어요. 자세한 내용은 Camel 보안 모델을 참고하세요.

더 알아보기 (More information)

엔드포인트와 옵션에 대한 자세한 내용은 다음 API 문서를 참고하세요: https://developers.google.com/drive/v2/reference/

더 알아보기 (Learn more)

  • Google Drive API v2 레퍼런스 — 엔드포인트와 옵션의 근거가 되는 공식 API 문서예요. drive-files, drive-changes 같은 각 API가 실제로 어떤 동작을 하는지 궁금할 때 참고하세요.
  • OAuth 자격 증명 만들기 — clientId·clientSecret·refreshToken 발급 절차를 설명하고, 수명이 긴 refreshToken은 OAuth playground로 손쉽게 만들 수 있어요.
  • Camel 보안 모델 — API 기반 컴포넌트에서 Camel* 헤더를 신뢰 경계에서 걷어내야 하는 이유를 설명해요.