Броски com.google.android.gms.common.api.ApiException: 17: Разрешение ошибок было отменено пользователем, исходное сообщение об ошибке: INTERNAL_ERROR: null
Что делатьс этим ?Я сослался https://developers.google.com/drive/android/appfolder на образец.
Предварительные приготовления до вызова Drive Api
GoogleSignIn успешно с Drive.APP_FOLDER Scope.Но не мог работать с Drive.
Зарегистрирован в консоли Api и активирован Drive Api с учетными данными.
Вот мой код
private DriveResourceClient getDriveResourceClient(){
GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);
return Drive.getDriveResourceClient(this,account);
}
private void createFileInAppFolder() {
final Task<DriveFolder> appFolderTask =getDriveResourceClient().getAppFolder();
final Task<DriveContents> createContentsTask = getDriveResourceClient().createContents();
Tasks.whenAll(appFolderTask, createContentsTask)
.continueWithTask(new Continuation<Void, Task<DriveFile>>() {
@Override
public Task<DriveFile> then(@NonNull Task<Void> task) throws Exception {
DriveFolder parent = appFolderTask.getResult();
DriveContents contents = createContentsTask.getResult();
OutputStream outputStream = contents.getOutputStream();
try {
Writer writer = new OutputStreamWriter(outputStream);
writer.write("Hello World!");
}
catch(Exception e){
}
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("New file")
.setMimeType("text/plain")
.setStarred(true)
.build();
return getDriveResourceClient().createFile(parent, changeSet, contents);
}
})
.addOnSuccessListener(new OnSuccessListener<DriveFile>() {
@Override
public void onSuccess(DriveFile driveFile) {
Log.e("Success","Good");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e("Error","Bad",e);
}
});
}