Android Google Drive访问权限

时间:2015-08-04 11:15:42

标签: android google-drive-android-api

我正在尝试从模拟器上的Android应用程序访问我的Goodle Drive帐户。 我全力跟进:https://developers.google.com/drive/android/auth 关于授权Android应用 但我还是不能授权自己。 因此, OAuth 是在开发者控制台上创建的,公共API访问  也被创造了。 但我仍然得到:

08-04 13:09:22.154    1683-1711/com.google.process.gapps W/GLSActivity﹕ gms.StatusHelper Status from wire: INVALID_KEY status: null
08-04 13:09:22.154    1683-1711/com.google.process.gapps I/GLSUser﹕ GLS error: INVALID_KEY my_mail@gmail.com oauth2:https://www.googleapis.com/auth/drive.file
08-04 13:09:22.160    1664-2522/com.google.android.gms E/ClientConnectionOperation﹕ Handling authorization failure
    com.google.android.gms.drive.auth.c: Authorization failed: See https://developers.google.com/drive/android/auth for details on authorizing an application.

另外,我提出了许可:

  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

就像

一样
   <activity
            android:name="com.google.android.gms.drive.sample.demo.HomeActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="com.google.android.apps.drive.APP_ID"
                android:value="329914295769-9e34odtlolkc6sqavaj5uqrduik1ouml.apps.googleusercontent.com" />

        </activity>

但是当我尝试时,我仍然无法宣传自己:

        if (mGoogleApiClient == null) {
            mGoogleApiClient = new GoogleApiClient.Builder(this)
                    .addApi(Drive.API)
                    .addScope(Drive.SCOPE_FILE)
//                    .addScope(Drive.SCOPE_APPFOLDER) // required for App Folder sample
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .setAccountName("erakovic.boban@gmail.com")
                    .build();
        }
        mGoogleApiClient.connect();

其中 mGoogleApiClient 是GoogleApiClient实例。 我整个早上用谷歌搜索,尽我所能,但仍然没有。 我只是想知道为什么证书指纹(SHA1),因为应用程序是在模拟器上运行的,所以实际上,我们不会在开始生成签名APK的过程之前签名。

我做错了什么,我不明白?

由于

1 个答案:

答案 0 :(得分:0)

对于调试,如果在DeveloperConsole中创建API密钥,请不要使用密钥库中的证书指纹(SHA1)创建签名的App。 对于未签名的应用程序(从Eclipse直接到设备,模拟器......)必须使用debug.keystore中的指纹(SHA1)。

默认存储位置debug.keystore文件位于OS X和Linux上的〜/ .android /中,位于Windows XP上的C:\ Documents and Settings \ .android \中,位于C:\ Users \ .android \中Windows Vista和Windows 7。

您可以使用keytool命令从debug.keystore获取SHA1 keytool -list -keystore debug.keystore

keytool默认位置为c:\ Program Files \ Java \ jdk1.7.0_21 \ bin \