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
Не мучайтесь вы так, возьмите либу, где все это уже реализовано - 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. Пытался вчера ответить на другой вопрос, но его уже снесли ретивые коллеги :)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно сделать прослушивание клавы, но использовать JFrame нельзя, только JWindowВыходит, что при нажатии ничего не происходит
Есть таблица product (id, name)Есть таблица product_option (id, product_id, option_id) У продукта могут быть несколько опций, а может и не быть вообще