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
번호 분류 제목 날짜 조회 수
797 컴퓨터잡담 CSS를 이용한 DIV 둥근 테두리 만들기. 1 4 2010.07.05 11710
796 컴퓨터잡담 APMSetup에서 문서 출력 순서 등 설정 2010.07.07 14066
795 컴퓨터잡담 악의적 호출 방지용 Referer 체크 2010.07.09 7530
794 컴퓨터잡담 MouseOver - Background color, 마우스오버시 백그라운드 컬러 지정 7 2010.07.10 11032
793 컴퓨터잡담 AutohotKey Postmessage(SendMessage)로 CTRL+C 전송하기 2010.07.11 21412
792 컴퓨터잡담 Implementation of the MetaWeblog API http://www.xmlrpc.com/metaWeblogApi in php 2010.07.12 12760
791 컴퓨터잡담 엑셀 - 초과 근무시간 계산 3 2010.07.14 20084
790 컴퓨터잡담 아이폰에서의 dns설정 방법 (유툽 속도 향상 법) 1 2010.07.22 11835
789 컴퓨터잡담 미국판 싸이월드라고 하는 페이스북 CEO 마크 주커버그 2 2010.07.22 6543
788 컴퓨터잡담 윈도우 서비스 수동 등록 방법 2010.07.23 9626
787 컴퓨터잡담 윈도 로그인하기 전에 배치파일을 실행하는 방법 3 2010.07.23 18232
786 컴퓨터잡담 도스 텍스트 TXT 파일에 내용 추가하기 2010.07.23 5952
785 컴퓨터잡담 [엑셀] 날짜와 요일 표현하기 3 1 2010.07.23 23927
784 컴퓨터잡담 메모리 용량이 넉넉하다면 램디스크를 한번 써보라, 1 2010.07.27 5408
783 컴퓨터잡담 엑셀 색깔 지정 함수 1 2010.07.28 65609
782 컴퓨터잡담 [악성코드퇴치] fph.exe 프로세서 제거하기 1 2010.08.11 12594
781 컴퓨터잡담 [엑셀함수] 조건결과가 참일경우만 정상 출력하기 3 2010.08.11 8348
780 컴퓨터잡담 악성코드 mus.exe 제거하기 2010.08.11 16034
779 컴퓨터잡담 [악성코드퇴치] NSLOOKUP 경로 확인으로 가로채기 하기 1 2010.08.12 14605
778 컴퓨터잡담 [악성코드퇴치] hosts 파일로 경로납치 현상 방지 1 2010.08.12 14026
Board Pagination Prev 1 ... 5 6 7 8 9 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소