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

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

?

  1. 07
    Mar 2012
    11:12

    IGMP, IGMP Snooping Internet Group Management Protocol 인터넷 그룹 관리 프로토콜

    Category컴퓨터잡담 Views7287
    Read More
  2. 06
    Mar 2012
    08:34

    autohotkey) 윈도우 ahk_id 추출하기

    CategoryAutoHotKey Views30088
    Read More
  3. 06
    Mar 2012
    08:05

    엑셀) 피벗테이블 원본데이터 영역범위 수정방법

    CategoryExcel Views25100
    Read More
  4. 02
    Mar 2012
    08:24

    탐색기 다른 이름으로 저장하기 저장위치 즐겨찾기 폴더 변경하기

    Category컴퓨터잡담 Views5294
    Read More
  5. 29
    Feb 2012
    14:43

    윈도우7 인터넷 속도 제한 해제(윈도우7 QOS 설정)

    Category컴퓨터잡담 Views20006
    Read More
  6. 28
    Feb 2012
    17:52

    XE) 관리자모드 업데이트가 안되는 이유

    Category컴퓨터잡담 Views5142
    Read More
  7. 25
    Feb 2012
    12:39

    인터넷 익스플러러 속도 향샹을 위한 팁

    Category컴퓨터잡담 Views24571
    Read More
  8. 23
    Feb 2012
    12:06

    엑셀) 배열

    CategoryExcel Views8353
    Read More
  9. 22
    Feb 2012
    08:19

    autohotkey) postmessage mouse control

    CategoryAutoHotKey Views28628
    Read More
  10. 22
    Feb 2012
    08:17

    16진수 헥사, 2진수, 10진수, 8진법 변환 계산기; Hex Calc

    Category컴퓨터잡담 Views7917
    Read More
  11. 22
    Feb 2012
    07:54

    autohotkey) WinSpector spy를 이용한 post,sendmessage Control ID 추출하기

    CategoryAutoHotKey Views10900
    Read More
  12. 22
    Feb 2012
    07:24

    Autohotkey) Find WM_COMMAND parameter with Winspector

    CategoryAutoHotKey Views35869
    Read More
  13. 14
    Feb 2012
    14:22

    부팅시 출력되는 메시지가 너무 빨리 지나가 볼수가 없때

    Category컴퓨터잡담 Views4428
    Read More
  14. 13
    Feb 2012
    14:01

    최근문서 지우기

    CategoryExcel Views9942
    Read More
  15. 13
    Feb 2012
    13:33

    MS Office 2007 Excel 최근 문서 목록 삭제하기

    CategoryExcel Views22229
    Read More
  16. 06
    Feb 2012
    15:24

    HMail Server 4.4.1 설치하기

    Category컴퓨터잡담 Views6904
    Read More
  17. 04
    Feb 2012
    16:29

    MYSQL 설정에 관한 조언

    Category컴퓨터잡담 Views4604
    Read More
  18. 31
    Jan 2012
    18:19

    캐논 IR-3300 복합기 스캔드라이버

    Category컴퓨터잡담 Views16314
    Read More
  19. 25
    Jan 2012
    17:51

    인터넷속도 단위

    Category컴퓨터잡담 Views6060
    Read More
  20. 23
    Jan 2012
    14:37

    IF문에서 변수와 상수 또는 변수와 변수 비교하기시 주의사항

    CategoryAutoHotKey Views6674
    Read More
Board Pagination Prev 1 ... 25 26 27 28 29 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소