Get user calendar using OutlookClient

2020-02-16 05:35发布

I'm using Outlook-SDK-Android (https://github.com/OfficeDev/Outlook-SDK-Android) to talk with Outlook Calendar REST API (https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations).

So far I've been able to get the events on my own calendar using:

            import com.microsoft.services.outlook.fetchers.OutlookClient;

            OutlookClient mClient;
            ...
            mClient = new OutlookClient(outlookBaseUrl, mResolver);
            ...
            mClient.getMe()                
                    .getCalendarView()
                    .addParameter("startDateTime", startDate)
                    .addParameter("endDateTime", endDate)
                    .read()

This corresponds to "https://outlook.office.com/api/v2.0/me/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}"

  • In order to use it for other users calendars on which I have read permission how do I achieve the same in the following format specified in the Outlook documentation?

"https://outlook.office.com/api/v2.0/USERS/meetingRoom@etc.com/calendars/Calendar/EVENTS?startDateTime={start_datetime}&endDateTime={end_datetime}"

(or also "..v2.0/USERS/meetingRoom@etc.com/CALENDARVIEW)

  • How do I add the query parameter "$select" to the latter, using OutlookClient? (eg. $select=Subject,Organizer,Start,End)

2条回答
别忘想泡老子
2楼-- · 2020-02-16 06:00

There is a select method:

public OrcCollectionFetcher<TEntity, TFetcher, TOperations> select(String select)

in OrcCollectionFetcher class, so you can call it like this:

mClient.getMe()                
                    .getCalendarView()
                    .addParameter("startDateTime", startDate)
                    .addParameter("endDateTime", endDate)
                    .select("Subject")
                    .read()

To get events from resource try this:

            final List<Event> events = outlookClient
                .getUsers()
                .getById("meetingRoom@company.com")
                .getCalendarView()
                .addParameter("startDateTime", startDate)
                .addParameter("endDateTime", endDate)
                .read()
查看更多
走好不送
3楼-- · 2020-02-16 06:00
        mClient.getMe()                
                .getCalendarView()
                .addParameter("startDateTime", startDate)
                .addParameter("endDateTime", endDate)
                .select("Subject,Start,End").
                .read()

See https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#UseODataqueryparametersSelectspecificpropertiestobereturned

查看更多
登录 后发表回答