Skip to content
[Docs]스프레드시트
2015.07.09 07:58

구글드라이브 API

조회 수 4545 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

크롬 확장프로그램에서 구글 드라이브 연동 예제

구글 드라이브 메뉴얼


api 획득


Google Drive API key 생성 과정


API 기능을 활용하려면 아래와 4개를 생성해야 한다.


1. p12key 파일

2. Client ID

3. Email address

4. Pulic key fingerprints


로그인 후 https://console.developers.google.com/project 로 접속한 후

만들어진 프로젝트설정에서 Drive API ON 하고 Credentials(인증)설정에서 Client ID를 생성한다.


1.png


API Project 를 클릭한 뒤 사용자 인증정보를 들어가면 Client ID 등의 정보가 나옴.



링크는 카메라를 찍어서 구글드라이브에 저장해주는 예제입니다.

saveFileToDrive() 부분이 파일 저장하는 부분이며, 
제가 알기로는 startcameraintent로부터 카메라를 찍어서 저장한 파일을
saveFileToDrive()에서  읽어와서 file = service.files~~~~ 부분에서 업로드 시키는 것입니다.

답변 :

 구글 드라이브 API를 기존에 써본적은 없었는데 질문내용에 흥미가 생겨

developer 싸이트 예제를 그대로 따라해본 뒤에 text 파일만 올리는걸로 바꿔봤습니다.
테스트 결과 잘되네요. 외장메모리에 andlog.txt 파일을 올리는 예제입니다.

public class MainActivity extends Activity {

static final int REQUEST_ACCOUNT_PICKER = 1;
static final int REQUEST_AUTHORIZATION = 2;

private static Uri fileUri;
private static Drive service;
private GoogleAccountCredential credential;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

credential = GoogleAccountCredential.usingOAuth2(this,
DriveScopes.DRIVE);
startActivityForResult(credential.newChooseAccountIntent(),
REQUEST_ACCOUNT_PICKER);
}

@Override
protected void onActivityResult(final int requestCode,
final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_ACCOUNT_PICKER:
if (resultCode == RESULT_OK && data != null
&& data.getExtras() != null) {
String accountName = data
.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
if (accountName != null) {
credential.setSelectedAccountName(accountName);
service = getDriveService(credential);
setFileUri();
}
}
break;
case REQUEST_AUTHORIZATION:
if (resultCode == Activity.RESULT_OK) {
saveFileToDrive();
} else {
startActivityForResult(credential.newChooseAccountIntent(),
REQUEST_ACCOUNT_PICKER);
}
break;
}
}

private void setFileUri() {
String mediaStorageDir = Environment.getExternalStorageDirectory().getPath();
fileUri = Uri.fromFile(new java.io.File(mediaStorageDir
+ java.io.File.separator + "andlog.txt"));
saveFileToDrive();
}

private void saveFileToDrive() {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
// File's binary content
java.io.File fileContent = new java.io.File(fileUri
.getPath());
FileContent mediaContent = new FileContent("text/plain",
fileContent);

// File's metadata.
File body = new File();
body.setTitle(fileContent.getName());
body.setMimeType("text/plain");

File file = service.files().insert(body, mediaContent)
.execute();
if (file != null) {
showToast("text file uploaded: " + file.getTitle());
}
} catch (UserRecoverableAuthIOException e) {
startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
} catch (IOException e) {
e.printStackTrace();
}
}
});
t.start();
}

private Drive getDriveService(GoogleAccountCredential credential) {
return new Drive.Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), credential).build();
}

public void showToast(final String toast) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), toast,
Toast.LENGTH_SHORT).show();
}
});
}
}





https://drive.google.com/folderview?id=xxxxxx&usp=sharing


https://drive.google.com/drive/folders/xxxxxxx



https://googledrive.com/host/xxxxx/index.html

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
717 컴퓨터잡담 동영상녹화의 최강자 안캠코더(AnCamCoder) 2 file 2012.12.29 4305
716 Server Minify로 CSS, JS파일, gzip으로 한꺼번에 압축해서 전송하기 file 2016.11.27 4337
715 컴퓨터잡담 drwtsn32.exe 사용하지 않기 2012.04.13 4350
714 WindowsTip 윈도우8.1 암호 입력없이 자동로그인 하기 2015.04.01 4359
713 Server XE DB 튜닝 2014.09.13 4377
712 [Docs]스프레드시트 Google 문서도구를 컴퓨터에 동기화 2015.11.18 4377
711 파이썬 chatGPT file 2023.02.11 4378
710 컴퓨터잡담 DLL View dll 파일관리 및 정보확인 프로그램 file 2011.10.10 4379
709 컴퓨터잡담 동영상 표준 포맷 등 품질변환(다음 팟 인코딩) 2 file 2012.12.28 4387
708 컴퓨터잡담 runDll32.exe 빠른실행, 윈도우 익스플로러 이용하여 실행하는 프로그램 2011.12.26 4393
707 컴퓨터잡담 제너레이터가 체크방법 1 file 2012.12.17 4410
706 컴퓨터잡담 부팅시 출력되는 메시지가 너무 빨리 지나가 볼수가 없때 2012.02.14 4428
705 컴퓨터잡담 윈도우7 익스플로러8 연결문제. file 2011.06.20 4438
704 컴퓨터잡담 공룡 색칠공부 file 2012.10.29 4492
703 Server 슈퍼캐시에서 .htaccess 이부분 제거해야 하나? 2016.11.23 4525
702 [Docs]스프레드시트 구글 스프레드시트(Google Spreadsheet)를 데이터베이스로 활용 2015.02.10 4527
701 컴퓨터잡담 레지스트리파일을 배치파일로 변환하기 - WindowexeRegToBat 2 2012.05.09 4543
» [Docs]스프레드시트 구글드라이브 API file 2015.07.09 4545
699 컴퓨터잡담 특정사이트 접속 느려질 경우 대처방법 1 2011.08.09 4552
698 컴퓨터잡담 윈도우 기본 애플리케이션 명령어 2011.12.21 4568
Board Pagination Prev 1 ... 9 10 11 12 13 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소