Update Spring '17.
I haven't gone through it in great detail, but there is not the Analytics API. Maybe try the Analytics Notification resource
Update from Arun V (Product Management, Analytics @ Salesforce) via twitter:
No APIs for scheduled reports yet!
Assuming that as of Spring 15 the required APIs aren't present to access this information you may need to consider the API Of Last Resort - screen scrapping.
Please be aware that screen scraping comes with a number of risks. Most importantly, Salesforce may alter the function and HTML content of the page at any time and cause your scrapping to break. Don't use it for anything critical.
Things might get ugly thought as it uses the _CONFIRMATIONTOKEN in a POST request to access the report users.
You would need to first GET request the page that returns the _CONFIRMATIONTOKEN then form the required POST request to get the current report recipients. It will take a bit of monitoring of the actual requests being made by the UI, but it should be possible.
There is an example of retrieving confirmation tokens via Apex in AuditForce: Native surfacing of the Salesforce Setup Audit Trail.
The steps to screen scrap will be:
- Send a GET request to the Reports details page: E.g. https://na5.salesforce.com/00O700000000001
- Extract the value of the _CONFIRMATIONTOKEN hidden input.
- Determine the POST request that gets created when you push Schedule Future Runs.... It will be something like setting the
nav form variable to
schedule. The browsers developer tools will show you the request.
- Send the POST request with the required Form data. Include the Session ID cookie in the request (
- Extract the HTML from the page that represent the Email Report Recipients. It looks like you want to find the select with the id