混合移动应用程序的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认证,获取用户的日历预约,并在应用程序中显示它们的一些截图。

1234

在开始使用Visual Studio 3013 的Office 365 API建立混合移动应用程序之前,需要安装Apache Cordova工具预览版和Visual Studio 2013 的Office 365 API工具。你可以找到一个MSDN上的小演练:添加Office 365服务到您的应用程序。您也可以按照教程如何使用SharePoint API访问OneDrive文件

敬请试用这些API并让我们知道您的反馈意见。如果您遇到任何问题或疑问,可以通过UserVoice推特Stack overflow,或电子邮件直接联系产品团队。