Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android API Google Drive "connection failed"

I try to work with the API Google Drive on Android, first using the demo:

https://github.com/googledrive/android-quickstart

However, I have this error that I can not solve .

GoogleApiClient connection failed: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{421d40e8: android.os.BinderProxy@42137f78}}

@Override
public void onConnectionFailed(ConnectionResult result) {
    // Called whenever the API client fails to connect.
    Log.i(TAG, "GoogleApiClient connection failed: " + result.toString());
    if (!result.hasResolution()) {
        // show the localized error dialog.
        GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show();
        return;
    }
    // The failure has a resolution. Resolve it.
    // Called typically when the app is not yet authorized, and an
    // authorization
    // dialog is displayed to the user.
    try {
        result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION);
    } catch (SendIntentException e) {
        Log.e(TAG, "Exception while starting resolution activity", e);
        // There was an error with the resolution intent. Try again.
        mGoogleApiClient.connect();
    }
}


@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    if (requestCode == REQUEST_CODE_RESOLUTION) {

        if (resultCode == RESULT_OK) {
            Log.i(TAG, "Error resolution success.");

            // Make sure the app is not already connected or attempting to connect
            if (!mGoogleApiClient.isConnecting() &&
                    !mGoogleApiClient.isConnected()) {
                mGoogleApiClient.connect();
            }

        } else {
            GooglePlayServicesUtil.getErrorDialog(requestCode, this, 0).show();
        }

        break;
    }
}
like image 509
cham Avatar asked Nov 20 '14 14:11

cham


People also ask

Is there a Google Drive API?

The Google Drive API allows you to create apps that leverage Google Drive cloud storage. You can develop applications that integrate with Drive, and create robust functionality in your application using the Drive API.

Is Google Drive API free?

Pricing. All use of the Drive API is available at no additional cost.


Video Answer


2 Answers

This may be due to negligence on developer's part (as it happened with me) - the SHA1 details you provide on the console are that of production key and you are testing on Debug mode (the SHA1 details would be different). The error message google drive API, gives could have been better, though!

like image 154
user1051505 Avatar answered Sep 30 '22 14:09

user1051505


Here is the info for the error you are receiving. I assume you are, but you need to be signed in to access Drive. When I run the sample app, at the very beginning it asks me to choose an account. Perhaps you do not have an account synced with the device you are using? There is an option to "add account", but maybe the behaviour is different when you have zero accounts. The documentation suggests that you either continue without using the API (simply because you cannot unless you sign in) or call startResolutionForResult(Activity, int) to prompt the user to sign in, but it would probably be easiest to just add the account to your device.

like image 44
Andy Avatar answered Sep 30 '22 14:09

Andy