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
번호 분류 제목 날짜 조회 수
917 AutoHotKey #ifwinactive & #ifwinexist 윈도우창 마다 핫키의 용도를 다르게 사용하는 방법 2011.02.14 16522
916 Excel 'C:Documents.xlsx' 을(를) 찾을 수 없습니다. 라는 오류 메시지가 나오는 경우 대처방법 2015.01.28 4767
915 WindowsTip (nPDF) 프린터 인쇄 내용을 PDF 파일로 변환하기 2015.01.24 2273
914 컴퓨터잡담 -응답없음- 으로 멈춰버린 프로그램 대기시간 줄이는 방법 2010.10.01 7843
913 컴퓨터잡담 .htaccess와 워터마킹을 이용한 이미지 링크 방지 2009.06.30 34918
912 WindowsTip 100M Full 속도내기(레지스터리) file 2013.01.11 6528
911 컴퓨터잡담 16진수 헥사, 2진수, 10진수, 8진법 변환 계산기; Hex Calc 2012.02.22 7917
910 컴퓨터잡담 2021년 플래시 플레이어 웹사이트 크롬에서 접속하는 방법 2021.07.05 2561
909 컴퓨터잡담 2023-09-23 서버다운 후 복구완료 secret 2023.09.23 40420
908 컴퓨터잡담 50 개 이상의 Ajax 예제들 2 2010.03.29 18950
907 컴퓨터잡담 50 개 이상의 Ajax 예제들 2010.03.29 18179
906 Server 8기가 램에 맞는 Mysql config 셋팅 값 1 2016.02.22 3857
905 컴퓨터잡담 ACTIVE-X 의 무서움 file 2015.12.26 669
904 컴퓨터잡담 AHK & my Address of Pointer and my Offset 2011.10.11 13183
903 컴퓨터잡담 Ahk Standard Library Collection, 2010 Sep (+Gui) ~ Libs: 100 3 2011.10.11 14189
902 AutoHotKey ahk) autohotkey controlgettext 이름을 마우스커서에 졸졸 따라다니게 하기 file 2014.04.01 12181
901 AutoHotKey ahk) autohotkey 글자 자르기 방법 2013.10.30 34671
900 AutoHotKey ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기 2013.10.30 37413
899 AutoHotKey AHK) AUTOKEY 웹페이지 열지않고 소스 가져오기 또는 로그인 하기 14 2012.05.12 52951
898 AutoHotKey Ahk) ip할당 진단프로그램 file 2011.12.26 12119
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소