간단한 따라가기 튜토리얼을 통해 구글 드라이브를 연동한 VCL 애플리케이션을 만들어보겠습니다.

아래 튜토리얼은 엠바카데로 프로덕트 매니저 '사리나 뒤퐁(Sarina Dupont)'의 글을 번역한 것입니다.

원본: https://community.embarcadero.com/blogs/entry/building-a-google-drive-application-using-enterprise-connectors?utm_source=Facebook_Organic&utm_medium=social

 

 

이번 튜토리얼에서 사용할 제품은 다음과 같습니다.

 

엔터프라이즈 커넥터는 파이어댁(FireDAC)을 이용해 데이터베이스를 연동하는 것과 동일한 방법으로 구글 드라이브 데이터들을 바로 연동할 수 있게 해주는 솔루션입니다.

 


 

 

 

Step 1) 구글 드라이브 엔터프라이즈 커넥터 평가판 다운로드 & 설치

 

RAD Studio(델파이 or C++빌더) 10.2 를 실행하고 Tools > GetIt Package Manage 를 선택해

'겟잇 패키지 매니저(GetIt Package Manager)'를 실행합니다.

 

실행된 겟잇 패키지 매니저의 좌측 'CATEGORIES' 중 'Connectors'를 클릭 또는 검색창에서 'Drive'를 검색해

'Trial - Google Drive Component'를 설치합니다.

 

DriveGetIt.PNG

 

 

Step 2) VCL 애플리케이션 생성하기

 

File > New > VCL Forms Application > Delphi 를 엽니다.

 

데이터 익스플로러(Data Explorer) 화면의 CData GoogleDrive Data Source를 마우스 오른쪽 버튼으로 클릭한 후,

Add New Connection을 클릭합니다. 저는 연결명을 'GDrive'로 설정했습니다.

 

폼 위에 컴포넌트 TFDPhysGoogleDriveDriverLink, TFDConnection, FDQuery, DataSource를 알맞게 

올려놓습니다. 

 

TFDConnection의 오브젝트 인스펙터 설정 방법

  • DriverName: CDataGoogleDrive
  • ConnectionDefName: GDrive

연결 편집기(Connection Editor)를 열고 GetAndRefreshInitiateOAuth로 설정합니다.

(그 외의 컴포넌트 속성 설정은 아래 이미지를 참고하세요.)

 

Connection4.PNG

 

Query1.PNG

 

 

 

 

FDQuery의 SQL 스크립트 화면에 알맞은 SQL 구문을 입력합니다.

이번 예제에서는 구글 드라이브에 있는 모든 PNG 파일을 불러오는 SQL 구문을 활용해보겠습니다.

 

 

QueryEditor.PNG

 

 

 

다음으로 폼 위에 FDGUIxWaitCursor를 올려놓습니다. 데이터를 보여줄 수 있도록 DBGrid 도 올려주세요.

 

DataSource.PNG   

 

     DBGrid2.PNG

 

 

 

OnCreate 이벤트에 아래와 같이 소스코드를 입력해줍니다.

 

sourcecode.JPG

 

 

 

Step 3) 애플리케이션 실행하기

 

InitiateOAuth 설정을 GETANDREFRESH로 설정하면, 이제 모든 연결 설정은 완료되었습니다.

 

InitiateOAuth를 이용해 OAuth 교환을 반복하지 않고도 수동으로 OAuthAccessToken 연결 속성을 설정할 수 있습니다. 연결 시 해당 컴포넌트가 기본 브라우저에서 OAuth 엔드 포인트를 열게 됩니다. 이제 애플리케이션에 로그인하고 권한을 부여하세요. 해당 컴포넌트가 OAuth 프로세스를 완료할 것입니다.

  1. 콜백 URL에서 접근 토큰(Access Token)을 추출하고 요청 사항을 인증합니다.
  2. 접근 토큰이 만료되면 새로고침 됩니다.
  3. OAuth 값을 연결되어 있는 동안 유지되도록 저장합니다. 이 파일은 OAuthSettingsLocation에서 구성할 수
    있습니다.

OAuth 프로세스가 완료되면, VCL 애플리케이션에 데이터가 표시됩니다.

 

Login1_2.png

 

Login2_2.png

 

Oauth2.png

 

Authorized.PNG

 

 

CData4.PNG

 

 

Drive4.PNG

 

구글 드라이브 접속 화면입니다(이 화면은 개인 계정에 따라 다르게 보입니다). 

 

 

VCL 애플리케이션을 실행해보세요. 이 프로그램으로 구글 드라이브를 열지 않고도, 드라이브에 파일 업로드 및 삭제, 파일 설명 변경 등을 할 수 있습니다. 아래 실행화면은 파이어몽키(FireMonkey)로 만들어 본 화면 샘플입니다.

 

screen5.PNG

 

screen9.PNG

 

 

 

관련자료


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 14387
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13023
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15532
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21064
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22297
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17932
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38228
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173741
1223 2020년 5월 GM 업데이트 - 여러분의 비즈니스에 길을 열어주세요! 관리자 2020.05.26 315
1222 델파이 안드로이드 개발을 위해 OpenJDK 채택 file 김원경 2020.05.25 887
1221 엠바카데로 오픈 소스 프로젝트 관리자 2020.05.25 699
1220 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 593
1219 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 918
1218 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 22880
1217 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 1108
1216 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 741
1215 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능 [2] 관리자 2020.05.12 2565
1214 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 364
1213 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1661
1212 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 1019
1211 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 604
1210 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 643
1209 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 349
1208 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 529
1207 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 406
1206 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 409
1205 델파이용 벡터 컨테이너 file 김원경 2020.04.14 752
1204 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 2447