簡體   English   中英

Google雲端硬盤Api的帳戶授權

[英]Account Authorization for Google Drive Api

我正在開發一個有可能提供大量統計信息的Android應用程序。 我想將此數據保存在我的google驅動器上以便稍后進行分析。

但是,我是Google apis的新手,幾乎不知道如何以編程方式授權我的帳戶。 這是我到目前為止所擁有的。

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("myaccount@gmail.com");

    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);
    }


}

代碼運行成功,文件在設備上創建,但我想將其發送到我的谷歌驅動器。

我認為主要問題是我不知道帳戶名稱憑證應該是什么。 我覺得它不是“myacc@gmail.com”。 有什么辦法可以為我自己的谷歌帳戶獲取帳戶名稱字符串嗎?

問題似乎是Google Drive,Dropbox和其他雲服務沒有內置支持來訪問您自己的帳戶。

即使我確實獲得了我的帳戶密鑰,它每15分鍾也會更改一次!

我建議設置一個網站並使用FTP上傳文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM