2013-02-11 7 views
4

많은 양의 통계 정보를 제공 할 가능성이있는 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 계정에 대한 계정 이름 문자열을 얻을 수있는 방법이 있습니까?

답변

0

Google 드라이브, Dropbox 및 기타 클라우드 서비스가 자신의 계정에 액세스 할 수 있도록 지원하지 않는 것 같습니다.

계정 키를 가져 오더라도 15 분마다 변경됩니다!

웹 사이트를 설정하고 FTP를 사용하여 파일을 업로드하는 것이 좋습니다.

관련 문제