Search code examples
androidgoogle-awareness

ACL_ACCESS_DENIED Awareness API - Android


I am trying to integrate Awareness API on a new project and I am stuck with an error saying: ACL_ACCESS_DENIED Status Code: 7503.

I have integrated Awareness API on other projects as well, but the last time I encountered that error, it was due to the lack of declaration on a needed permission, for the DetectedActivity feature to work.

This time though, I am just using the Location feature of the Awareness API.

I have also tried to change API keys, regenerate them and even enable/disable the API itself, from Google API Console, but without any luck.

I also have a proper Google Services JSON file and the version of Play Services I am using is: 10.0.0

compile 'com.google.android.gms:play-services-awareness:10.0.0'

Below is the code I am using:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>


<meta-data
 android:name="com.google.android.awareness.API_KEY"
 android:value="MY_API_KEY"/>


this.googleApiClient = GoogleApiClient.Builder(this)
    .addApi(Awareness.API)
    .addConnectionCallbacks(this)
    .enableAutoManage(this, this)
    .build()

Awareness
        .SnapshotApi
        .getLocation(googleApiClient)
        .setResultCallback {
            handleLocationResult(it)
        }

I have done a lot of Google searching as well, but no hints other than a SO post talking about the same error on Emulators. I am not trying it on an Emulator. I am using a real device to test it.

If anyone has any ideas, I would be grateful!

Thanks in advance!


Solution

  • Apparently, AwarenessAPI does return such an error for different cases.

    The Status Code: 7503 will be returned even if you:

    1. Missing a Permission from your Manifest, such as the one for DetectedActivity
    2. Have the Location setting off when requesting a Location snapshot (it does not cause the Location Settings dialog to pop-up)

    I will leave it here, in case someone else stumbles upon such a case, in the future!