android drive api getErrorCode()INTERNAL_ERROR

时间:2017-10-12 13:04:39

标签: android google-drive-api google-drive-android-api

我创建了一个从GDrive读取文件的应用程序,所有在Android Studio的调试模式下工作正常,但是当我尝试使用发行版本时,我从( result.getErrorCode()<获取一个INTERNAL_ERROR / em>的)。

@Override
    public void onConnectionFailed(ConnectionResult result) {
        Log.i(TAG, "GoogleApiClient connection failed: " + result.toString());
        if (!result.hasResolution()) {
            // show the localized error dialog.
            GoogleApiAvailability.getInstance().getErrorDialog(this, result.getErrorCode(), 0).show();
            //GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show();
            return;
        }
        try {
            result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION);
        } catch (SendIntentException e) {
            Log.e(TAG, "Exception while starting resolution activity", e);
        }
    }

因此,我尝试使用official tutorial中的Google Drive API来创建相同的问题。

我已经通过keytool

创建了密钥SH1

并为调试密钥〜/ .android / debug.keystore 创建了ID客户端OAuth 2.0。 在调试模式下,应用程序工作正常。 所以我已经通过 Android Studio生成了一个签名APK - &gt;菜单 - &gt;构建 - &gt;生成带有新密钥文件.jks的签名apk 命令后,我创建了一个带有新密钥的新SH1和一个新的ID客户端OAuth 2.0,但是当我在Samsung S7上传release.apk时我有相同的INTERNAL_ERROR消息。 我已使用API​​客户端ID更改了演示文件中的 public static final String EXISTING_FOLDER_ID 。 我也使用这种方法改进了正确的密钥:

  1. 使用unzipper(如7zip)打开(解压缩)xxxx.APK,找到CERT.RSA
  2. 运行'keytool -printcert -file ......... \ CERT.RSA'
  3. 返回控制台,将打印出的SHA1与API控制台中的SH1进行比较。

    在Console API的Dasboard中,我看到了请求... 我不知道问题出在哪里......

    修改 我已经从google.com创建了一个新帐户,并且使用这个新帐户,这两个应用程序都有效!...为什么?第一个帐户不起作用?有一些否认旗帜?在哪里?

0 个答案:

没有答案