我正在开发一个 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 更容易吗?
谢谢