Outlook - Read another user's calendar
<p>I'm developing an Android App based on <a href="https://dev.outlook.com/RestGettingStarted/Tutorial/android" rel="nofollow noreferrer">Outlook-SDK-Android</a>. The App talks with <a href="https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations#Getevents" rel="nofollow noreferrer">Outlook Calendar REST API</a> to retrieve, book and delete events (see code examples <a href="https://stackoverflow.com/questions/35585155/get-user-calendar-using-outlookclient">here</a> and <a href="https://stackoverflow.com/questions/35876015/post-and-delete-a-booking-using-outlookclient-and-outlook-calendar-api/35905522#35905522">here</a>). Now I need to read someone else's calendar and I've been provided an Office365 account with delegate access (<a href="https://support.office.com/en-gb/article/Allow-someone-else-to-manage-your-mail-and-calendar-aaeedebe-9de0-4141-8323-029f4b836759" rel="nofollow noreferrer">author permission level</a>) towards other users.</p>

<p>I've registered my app using the provided account on the <a href="https://apps.dev.microsoft.com" rel="nofollow noreferrer">new portal</a>. In my App I use the scope "<a href="https://outlook.office.com/Calendars.ReadWrite" rel="nofollow noreferrer">https://outlook.office.com/Calendars.ReadWrite</a>".
(The scope is used in <em>com.microsoft.aad.adal.AuthenticationContext.acquireToken()</em> to initialize an <a href="https://github.com/OfficeDev/Outlook-SDK-Android/blob/master/sdk/outlook-services/src/main/java/com/microsoft/services/outlook/fetchers/OutlookClient.java" rel="nofollow noreferrer">Office REST Client for Android</a> OutlookClient, a shared client stack provided by <a href="https://github.com/msopentech/orc-for-android" rel="nofollow noreferrer">orc-for-android</a>)</p>

<p>When I try to read another user's calendar on which I have delegate access I just receive back a 403 response:</p>

<pre><code>{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again."
  }
}
</code></pre>

<p>Any help?</p>

<p>Is it a limitation of the API? If so why is the following method invocation chain provided then?</p>

<pre><code>outlookClient.getUsers()
             .getById("meetingRoom@company.com")
             .getCalendarView()
</code></pre>

<p>UPDATE:</p>

<p>It seems like there are <strong>works in progress</strong> that will allow this scenario, as reported here: <a href="https://stackoverflow.com/questions/34858409/office-365-rest-api-access-meeting-rooms-calendars?rq=1">Office 365 REST API - Access meeting rooms calendars</a></p>

<p>So if progress in that direction has been made can I achieve my goal <strong>without using an "<a href="https://msdn.microsoft.com/office/office365/HowTo/building-service-apps-in-office-365" rel="nofollow noreferrer">admin service app</a>"</strong>? (see <a href="https://stackoverflow.com/questions/31572731/office-365-api-or-azure-ad-graph-api-get-someone-elses-calendar?rq=1">Office 365 API or Azure AD Graph API - Get Someone Elses Calendar</a>)</p>

<p>Can I use basic authentication as suggested <a href="https://stackoverflow.com/a/31864835/4317945">here</a>?</p>