混合移动应用程序的Office 365 客户端API
[原文发表地址] Office 365 Client APIs for Hybrid Mobile Apps
[原文发表时间] 2014-12-08 9:00 AM
Visual Studio的Apache Cordova工具允许开发人员利用Web标准技术对iOS, Android和Windows操作系统创建移动应用程序。当使用Visual Studio 的Office 365 API工具时,开发人员可以从他们的混合移动应用程序进入Office 365的API来访问用户的日历,联系人,邮件, 和来自他们的Office 365帐户轻松创建的更加丰富,连接体验更好的文件。
Apache Cordova工具和Office 365的API工具都是是对Visual Studio 2013的扩展。建立一个混合移动应用程序,从一个REST服务器上查询数据是比较困难的:你需要管理认证指令,动态构造REST URI,并处理错误和重试。此代码虽为样版,但经常会出错,Office 365的API可处理这种复杂的问题,让你可以专注于建立应用程序。除了处理REST调用的复杂性,类库还提供了API认证和探索,OneDrive我的文件使用情况,和访问用户、组信息。
例如,一个混合移动应用程序可以轻松地直接添加日历预约到用户的Exchange日历,以代表用户发送邮件,或者直接访问他们存储在OneDrive的文件。使用几行代码,用户便可以验证和访问他们的Office 365帐户。
下面,你可以看到如何对用户进行验证,并创建一个客户端对象,作为从Exchange上访问所有API的基端。getIdToken方法提示输入用户名和密码来验证outlook.office365.com。
var authContext = newO365Auth.Context();
authContext.getIdToken('https://outlook.office365.com/')
.then(function(token) {
// Promise callback: Authentication succeeded
client = newExchange.Client(
'https://outlook.office365.com/ews/odata',
token.getAccessTokenFn('https://outlook.office365.com')
);
});
使用构建的客户端对象,你可以从输入框中访问所有的消息。
// Use getFolder to access Inbox folder
client.me.folders.getFolder("Inbox").fetch()
.then(function(folder) {
// Retrieve all the messages
folder.messages.getMessages().fetch()
.then(function(mails) {
// mails.currentPage contains all the mails in Inbox
});
});
若要获取联系人,只需调用getContacts:
client.me.contacts.getContacts().fetch()
.then(function(contacts) {
// contacts.currentPage contains the contacts information
});
同样,使用getEvents方法来返回日历事件。这里有一些Woodgrove演示应用程序的截图,它使用Office 365的API认证,获取用户的日历预约,并在应用程序中显示它们的一些截图。
在开始使用Visual Studio 3013 的Office 365 API建立混合移动应用程序之前,需要安装Apache Cordova工具预览版和Visual Studio 2013 的Office 365 API工具。你可以找到一个MSDN上的小演练:添加Office 365服务到您的应用程序。您也可以按照教程如何使用SharePoint API访问OneDrive文件。
敬请试用这些API并让我们知道您的反馈意见。如果您遇到任何问题或疑问,可以通过UserVoice,推特,Stack overflow,或电子邮件直接联系产品团队。