How do I use the Google drive API key to access drive content from android application?

11,018

Solution 1

You need to activate TWO things in the API console: - Drive API - Drive SDK

Many people activate only one.

Moreover, don't forget to add your real certificate SHA1 before releasing the final application.

There is this similar answer: Google Drive SDK Exception

Solution 2

In Android, as specified by pommedeterresautee we need to perform the activation of Both Drive API and Drive SDK, which then leads to the API Key.

This has to be set in the Android manifest inside the application tag and on par with other application component tags as :

<application...>
<activity ...>
<meta-data
        android:name="com.google.android.apps.drive.APP_ID"
        android:value="id=YOUR_API_KEY" />
</application>

When you do this, you will be able to access the api without a 403 "Access Not Configured" problem.

Share:
11,018
user1826780
Author by

user1826780

Updated on June 30, 2022

Comments

  • user1826780
    user1826780 almost 2 years

    I can't access Google drive. I created an API KEY in Google API console and enabled Google Drive API and SDK. Where do I set that API KEY in code?

    Drive builder does not have a setJsonHttpRequestInitializer method. Where can I set the KEY?Is there alternatives?

    private Drive getDriveService(String token) {
    
    HttpTransport ht = AndroidHttp.newCompatibleTransport(); 
    JacksonFactory jsonFactory = new JacksonFactory();          
    Credential credentials = new GoogleCredential().setAccessToken(token);                                                          
    
        Drive.Builder b = new Drive.Builder(ht, jsonFactory, credentials);
        b.setHttpRequestInitializer(credentials);
    
    return b.build();
    }
    

    Getting:

     com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
     {
       "code" : 403,
       "errors" : [ {
         "domain" : "usageLimits",
         "message" : "Access Not Configured",
         "reason" : "accessNotConfigured"
      } ],
      "message" : "Access Not Configured"
     }