I'm writing an adroid app that used to upload a chosen image
to the users' google drive.
I have cloned the code from git to another machine and then the image won't upload any more.
I get a com.google.android.gms.auth.GoogleAuthException: Unknown
exception. but it's caught here:
} catch (IOException e) {
e.printStackTrace();
}
if(fileContent.length() > 5 * 1024 * 1024)
{
// Resumable Uploads when the file size exceeds a file size of 5 MB.
// check link :
// 1) https://code.google.com/p/google-api-java-client/source/browse/drive-cmdline-sample/src/main/java/com/google/api/services/samples/drive/cmdline/DriveSample.java?repo=samples&r=08555cd2a27be66dc97505e15c60853f47d84b5a
// 2) http://stackoverflow.com/questions/15970423/uploading-downloading-of-large-size-file-to-google-drive-giving-error
AbstractGoogleClientRequest<File> insert = mDriveService.files().insert(body, mediaContent);
MediaHttpUploader uploader = insert.getMediaHttpUploader();
uploader.setDirectUploadEnabled(false);
uploader.setProgressListener(new FileUploadProgressListener());
destFile = (File) insert.execute();
}
else
{
// Else we go by Non Resumable Uploads, which is safe for small uploads.
destFile = mDriveService.files().insert(body, mediaContent).execute();
}
this is my login to drive code
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
credential = GoogleAccountCredential.usingOAuth2(this, Collections.singleton(DriveScopes.DRIVE));
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
Intent intent = getIntent();
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_ACCOUNT_PICKER:
if (resultCode == RESULT_OK && data != null && data.getExtras() != null) {
String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
if (accountName != null) {
credential.setSelectedAccountName(accountName);
mDriveService = getDriveService(credential);
saveFileToDrive();
}
}
break;
//second try to upload, if credentials were wrong
case REQUEST_AUTHORIZATION:
if (resultCode == Activity.RESULT_OK) {
saveFileToDrive();
} else {
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
}
break;
case CAPTURE_IMAGE:
if (resultCode == Activity.RESULT_OK) {
saveFileToDrive();
}
}
}
Any hints what i can check and verify (maybe missing libraries references?)
I have thought it's because I upload an image from external SD, but even if i choose from local phone SD it throws same exception