从MS Office 365导入事件(PHP)

时间:2014-12-11 19:03:29

标签: javascript php api ms-office

我有一个小型医疗诊所的内部网站点,在首页我想显示与诊所范围内的MS Office 365电子邮件帐户相关的即将发生的事件。

我是API的新手,因此有关如何入门的一些资源会有所帮助。

网站是用PHP编写的,但据我所知,API函数可以用JavaScript完成 - 无论哪种方式都可以。

一旦我可以从Microsoft获得XML或JSON文件,我非常确定我可以弄清楚如何为该网站设置格式。问题只是获取信息。

到目前为止,我有:

<script>
    var req = new XMLHttpRequest();
    req.open("GET", "https://outlook.office365.com/api/v1.0/users/{email address}/events", false);
    req.send();
    console.log(req.status);
    console.log(req.StatusText);
</script>

控制台已记录:

"NetworkError: 401 Anonymous Request Disallowed

我还尝试了控制台记录的行req.open("GET", "https://outlook.office365.com/api/v1.0/users/me/events", false{or true}/ {username}, {password});

NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

我能找到的几乎所有文档都是针对通过某些基于Web的界面与其365个帐户连接的个人用户(公司员工),因此几乎所有网址都包含/me/,表明他们以某种方式进行了验证。但我希望我的PHP或JavaScript脚本能够自动验证单个用户并检索信息。我想这需要在某个地方对用户和密码进行硬编码,但我没有发现这样的例子。

我显然已经超过了我的头脑,但任何人都可以就如何完成这项工作提出任何建议吗?或者阅读更多关于API的工作原理?大多数文件都是针对那些已经拥有一定知识水平的人,我不知道,并且不知道如何获得。

感谢。

2 个答案:

答案 0 :(得分:0)

缺少部分是从您的应用程序连接到O365的身份验证(OAuth)。 也许这有助于http://msdn.microsoft.com/library/bde5647a-fff1-4b51-b67b-2139de79ce4a%28Office.15%29.aspx

答案 1 :(得分:0)

是的,您需要如前所述对Office 365 API进行身份验证。要对Office 365进行调用,您必须针对Azure AD注册OAuth的应用程序。

我建议查看http://dev.office.com/getting-started/office365apis。它应该指导您设置身份验证并告诉您如何进行其余的呼叫。