我正在编写一个用于上传所选图片的adroid应用
到用户的谷歌硬盘。
我已将代码从git克隆到另一台机器,然后图像将不再上传。
我收到com.google.android.gms.auth.GoogleAuthException: Unknown
个例外。但它被抓住了:
} 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();
}
这是我登录驱动器代码
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();
}
}
}
任何提示我可以检查和验证(可能缺少库引用?)
我原以为是因为我从外部SD上传了一张图片,但即使我从本地手机SD中选择它也会引发相同的异常
答案 0 :(得分:1)
问题是我必须重新注册我的应用
使用新的SHA1键创建并签署apk