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

구글드라이브 API

조회 수 1113 추천 수 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
번호 분류 제목 날짜 조회 수
536 Server php) register_globals = on 으로 설정할 수 없는경우 10 2013.03.23 7672
535 WindowsTip 구글 음성지원 API 2013.03.22 6829
534 WindowsTip SVCHOST.EXE 꼭 필요한 servies.msc 항목 1 file 2013.03.20 7906
533 WindowsTip 악성코드 언인스톨러 file 2013.03.19 9301
532 WindowsTip Process Explorer 불필요한 scvhost.exe 제거하기 2013.03.19 11365
531 컴퓨터잡담 공유기 종류별 웹로그인 방법 1 2013.03.19 13702
530 컴퓨터잡담 인터넷 통신에서 QOS 의 의미와 사용방법 2013.03.16 6149
529 WindowsTip 지정한 IP의 포트스캔 9 file 2013.03.16 8112
528 WindowsTip 무선공유기 잦은 끊킴시 해결방법 file 2013.03.15 9903
527 AutoHotKey Autohotkey + mypeople(마이피플) 메시지 전송 1 2013.03.12 10086
526 WindowsTip 네트워크 무선연결이 안될 때의 점검 방법 file 2013.03.12 27351
525 WindowsTip XP 원격데스크톱 설정과 실행 1 2013.03.11 8069
524 WindowsTip 악성코드 분석 프로그램 정리 2013.03.06 6232
523 Server PHP) Web Proxy Server 만들기 소스 1 file 2013.03.04 14051
522 Server TIME_WAIT를 남기지 않는 세션종료 (Graceful Shutdown) 3 2013.03.02 10316
521 Server Windows 서버에서 XE 속도 대폭 개선 방법 3 2013.03.02 10802
520 Server html) 프레임 나누기 4 2013.03.02 9086
519 Visual C++ PHP) Proxy 서버를 이용해서 원격 웹서버 내용 갖고 오기 12 2013.02.28 17671
518 WindowsTip 윈도우 레지스트리 설정 - 인터넷 익스플로러 4 2013.02.28 11153
517 WindowsTip MS-DOS 모드에서 Windows 복원 방법 3 2013.02.26 7527
Board Pagination Prev 1 ... 11 12 13 14 15 ... 39 Next
/ 39

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소