How do you check if a domain has enabled the GData Provisioning API without trying to modify the domain?
The only way I have been able to find that will give an API failure response is doing something like trying to create a new user. This is obviously a terrible way.
The response when I request access through OAuth is the same independent of whether they have checked the domain setting. Get requests (like getting the domain's list of users) does not require this setting being enabled.
Since you're doing OAuth, you should have the email address of an admin whom your acting as. Try toggling that users ipWhitelisted flag. This flag is pretty much meaningless but you should probably flip it back if you succeed anyway. https://developers.google.com/google-apps/provisioning/#updating_a_user_account
If you're open to adding additional OAuth scopes, consider adding the admin settings API scope and attempting to retrieve settings there, I'm pretty sure the read-only calls to Admin Settings API will fail if Prov. API flag is disabled in CPanel. https://developers.google.com/google-apps/admin-settings/