Не могу скачать файл что делать? Google Drive Android

347
24 марта 2017, 23:07
GoogleApiClient client;
GoogleSignInOptions gso;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
    client = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(client);
    startActivityForResult(signInIntent, 1);
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
@SuppressLint("LongLogTag")
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    if (requestCode==1){
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {
            GoogleSignInAccount acct = result.getSignInAccount();
            DriveId driveId=DriveId.decodeFromString("1CeC6OqnuPexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
            DriveFile driveFile= driveId.asDriveFile();
            DriveApi.DriveContentsResult connectionResult=driveFile.open(client,DriveFile.MODE_READ_ONLY,null).await();
            if (connectionResult.getStatus().isSuccess()){
                InputStreamReader inputStreamReader=new InputStreamReader(connectionResult.getDriveContents().getInputStream());
                try {
                    Log.e("MainActivity=onCreate", String.valueOf(inputStreamReader.read()));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
@Override
protected void onDestroy() {
    super.onDestroy();
    Auth.GoogleSignInApi.signOut(client);
}

Выдает ошибку

Caused by: java.lang.IllegalArgumentException: Invalid DriveId: 1CeC6OqnuPexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Answer 1

Не мучайтесь вы так, возьмите либу, где все это уже реализовано - Driven:

StorageProvider provider = new GoogleDrive();
provider.authenticate(credentials);
RemoteFile remoteFile=provider.get("blah-blah-file.txt");
remoteFile.download(new LocalFile(new File("mylocalfile.txt"));

P.S. Пытался вчера ответить на другой вопрос, но его уже снесли ретивые коллеги :)

READ ALSO
Фокус на JWindow

Фокус на JWindow

Мне нужно сделать прослушивание клавы, но использовать JFrame нельзя, только JWindowВыходит, что при нажатии ничего не происходит

289
Не могу составить запрос MySQL для фильтра по товарам

Не могу составить запрос MySQL для фильтра по товарам

Есть таблица product (id, name)Есть таблица product_option (id, product_id, option_id) У продукта могут быть несколько опций, а может и не быть вообще

272