MDM get Customers and Devices Api Access issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wednesday
Can you please support for this issue. We have not been able to call the following api: We have executed all the steps mentioned in documents, still getting 403 GET https://androiddeviceprovisioning.googleapis.com/v1/partners/*****/customers { "code" : 403, "errors" : [ { "domain" : "global", "message" : "You are not allowed to retrieve the list of requested permission delegations.", "reason" : "forbidden" } ], "message" : "You are not allowed to retrieve the list of requested permission delegations.", "status" : "PERMISSION_DENIED", "details" : [ { "@type" : "type.googleapis.com/google.android.device.provisioning.v1.CustomError", "code" : "AUTHORIZATION_FAIL", "message" : "AUTHORIZATION_FAIL" } ] } To get the device listing for a customer we have followed below pre-requisites: A Google account, that's a member of your zero-touch enrollment reseller account. Java 1.7 or greater.(21) enable Android Device Provisioning Partner API. create a service account. Set Role to Service Accounts > Service Account User. Add key**, then click **Create new key* For **Key type**, select **JSON**. Click Create and the private key downloads to your computer. Move the Service account Json file to your working directory Linked service account to use the service account with your zero-touch enrollment account. Create a Java and Maven project with below dependencies: com.google.api-client google-api-client 1.31.1 com.google.auth google-auth-library-oauth2-http 1.30.1 com.google.oauth-client google-oauth-client-jetty 1.34.1 com.google.apis google-api-services-reseller v1-rev20230611-2.0.0 com.google.apis google-api-services-androiddeviceprovisioning v1-rev20220319-1.32.1 Tried to get the customer devices using suggested API: public void listDevicesForCustomer(String PARTNER_ID) { String parentId = "customers/" + PARTNER_ID; // Ensure correct format try { AndroidProvisioningPartner.Customers.Devices.List request = service.customers().devices().list(parentId); // Execute the request ListDevicesResponse response = request.execute(); // Process the response } catch (HttpResponseException e) { if (e.getStatusCode() == 403) { System.out.println("Access forbidden. Check permissions and customer ID."); } e.printStackTrace(); // Handle exception } catch (Exception e) { e.printStackTrace(); // Handle other exceptions } } Getting 403 GET https://androiddeviceprovisioning.googleapis.com/v1/customers/*344******/devices { "code" : 403, "errors" : [ { "domain" : "global", "message" : "Insufficient Permission", "reason" : "insufficientPermissions" } ], "message" : "Request had insufficient authentication scopes.", "status" : "PERMISSION_DENIED", "details" : [ { "@type" : "type.googleapis.com/google.rpc.ErrorInfo", "reason" : "ACCESS_TOKEN_SCOPE_INSUFFICIENT", "domain" : "googleapis.com", "metadata" : { "method" : "google.android.device.provisioning.v1.customer.DeviceProvisioningCustomerService.ListDevices", "service" : "androiddeviceprovisioning.googleapis.com" } } ] } at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146) at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:118) at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:37) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:428) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1111) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:514) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:455) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:565) at com.airtel.africa.android_management.ResellerCustomers.main(ResellerCustomers.java:87) --
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wednesday
To be honest, you should realign your post, it's not clearly where code starts or ends, where your own written tests starts/ends and where log entrys starting. I recommend to realign your post so it's easier to read.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wednesday
Hello @balpreetsingh,
Great to see you back in the community. This looks like a reseller question, I wonder do you have access to our 'Reseller Portal'? As I would recommend posting it there. Let me know if not.
Thanks so much,
Lizzie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wednesday
Hi, I beleive we have the access, but just to be sure, Can you please help me with url for reseller portal community support page.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thursday
I know we've spoken via DM about this balpreetsingh, but just for any other partner looking for the link to the Partner Portal - here is the link: https://www.androidenterprise.dev/s/
Thanks,
Lizzie
- Questions Regarding Fully Company-Owned and Managed Devices with AMAPI in General discussions
- MDM get Customers and Devices Api Access issue in General discussions
- Enhanced Factory Reset Protection in Android 15 in Tips & guides
- [Day 5] Community festival: Looking ahead - What could be next for Android? in General discussions
- [Day 4] Community festival : Introduction to a mobile only strategy in a large company in General discussions