Я разрабатываю приложение для Android, которое будет управлять бронированием нескольких конференц-залов Outlook (пользователей). Идея состоит в том, чтобы просто отображать их наличие и бронировать номер на определенное время.
До сих пор мне удавалось получать события только в моем собственном календаре с помощью Outlook SDK Android.
// logon() {
...
mResolver = new DependencyResolver.Builder(
new OkHttpTransport().setInterceptor(new LoggingInterceptor()),
new GsonSerializer(),
new AuthenticationCredentials() {
@Override
public Credentials getCredentials() {
return new OAuthCredentials(
authenticationResult.getAccessToken()
);
}
}).build();
// onCreate() {
Futures.addCallback( logon(), new FutureCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
mClient = new OutlookClient(outlookBaseUrl, mResolver);
getCalendars();
}
@Override
public void onFailure(Throwable t) {
Log.e("logon", t.getMessage());
}
});
...
protected void getCalendars() {
DateTime startDate = new DateTime(
DateTime.parse("2016-02-05T00:00:00Z"));
DateTime endDate = new DateTime(
DateTime.parse("2016-02-06T00:00:00Z"));
Futures.addCallback(
mClient.getMe()
.getCalendarView()
.addParameter("startDateTime", startDate)
.addParameter("endDateTime", endDate)
.read(),
new FutureCallback<OrcList<Event>>() {
@Override
public void onSuccess(final OrcList<Event> result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
StringBuilder sb = new StringBuilder();
ListIterator<Event> events =
result.listIterator();
while (events.hasNext()) {
Event event = events.next();
sb.append(event.getSubject() + "\n");
}
messagesTextView.setText(sb.toString());
}
});
}
@Override
public void onFailure(Throwable t) {
Log.e("Calendar error", t.getLocalizedMessage());
}
}
);
}
Или, в качестве альтернативы, используя getUsers() вместо getMe(): см. здесь.
Итак, теперь следующие шаги:
Нужен ли мне пользователь с правами администратора даже для чтения календаря конференц-залов или есть какой-то другой способ?
Если мне не разрешат использовать учетную запись администратора, могу ли я управлять несколькими пользователями с хорошим удобством использования / производительностью, полагаясь на поток Oauth?
Я новичок в Android, проще ли работать с Outlook REST API или Microsoft Graph?
Спасибо