많은 양의 통계 정보를 제공 할 가능성이있는 Android 애플리케이션을 개발 중입니다. 나중에 분석 할 Google 드라이브에이 데이터를 저장하려고합니다.Google 드라이브의 계정 승인 Api
그러나 Google api를 처음 사용하고 프로그래밍 방식으로 내 계정을 인증하는 방법을 거의 모릅니다. 여기까지 내가 지금까지 가지고있는 것이있다.
private static Uri driveUri;
private static Drive service;
private GoogleAccountCredential credential;
private Account driveAccount;
// AccountManager accManager =
// (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
// accManager.setUserData(driveAccount, ???, ???)
credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
credential.setSelectedAccountName("[email protected]");
service = getDriveService(credential);
public class UploadToDrive extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());
File sdcard = new File(Environment.getExternalStorageDirectory().getPath());
File fileAnalytics = null;
try {
fileAnalytics = File.createTempFile("Sessions" + File.separator + "session_" + timeStamp, ".txt", sdcard);
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
PrintStream ps = null;
try {
ps = new PrintStream(fileAnalytics);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ps.println("Count: " + count);
ps.println("Time: " + (System.currentTimeMillis() - startTime));
ps.close();
FileContent content = new FileContent("text/plain", fileAnalytics);
com.google.api.services.drive.model.File body = new com.google.api.services.drive.model.File();
body.setTitle(fileAnalytics.getName());
body.setMimeType("text/plain");
try {
service.files().insert(body, content);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
}
코드가 성공적으로 실행되고 파일이 기기에 생성되었지만 Google 드라이브로 보내려고합니다.
나는 주된 문제는 이라는 계정이 무엇인지 알지 못한다고 생각합니다. 나는 그것이 "[email protected]"이 아니라는 느낌을 가지고 있습니다. 내 자신의 Google 계정에 대한 계정 이름 문자열을 얻을 수있는 방법이 있습니까?