2015-06-25 191 views
4

我正在使用Office 365 REST API來訪問我的帳戶的日曆。 我想訪問我的帳戶有權訪問的所有日曆,特別是出現在Office 365界面的「其他日曆」部分中的會議室日曆。訪問共享日曆(例如通過Office 365 REST API的會議室)

現在,如果我查詢「https://outlook.office365.com/api/v1.0/me/calendars」端點,我只收到了我擁有的日曆,而不是會議室日曆。

有關如何獲取它們的任何線索(通過Office 365 REST API)?

+0

你是怎麼解決的?是否使用「管理服務應用程序」是唯一的方式(我沒有足夠的時間來開發它)?我的問題:http://stackoverflow.com/questions/35976578/outlook-calendar-rest-api-read-someone-elses-calendar感謝:) –

回答

2

當以用戶身份登錄時,REST API不支持訪問其他用戶的日曆。您可以使用client credentials model授予應用程序對組織中所有日曆的訪問權限,並以此方式訪問它們。

+1

鏈接被破壞,所以這裏你去:http://blogs.msdn .COM/b/exchangedev /存檔/ 2015/01/21 /建築守護進程或服務,應用程序與 - 辦公365信箱,日曆和聯繫人的API-的oauth2客戶端 - 憑據flow.aspx – lehtu

0

我已經能夠做什麼,我相信你問(使用Office 365的API從日曆已與您的Outlook日曆共享的事件)通過以下端點:

.../api/v2.0/Users('PRIMARY_USER_ID')/Calendars('SHARED_CALENDAR_ID')/Events 

我不確定此端點是否會讓您訪問您可以部分訪問的端點,但您應該可以從任何與Outlook/Office 365帳戶直接共享的日曆中獲取活動/信息。

  • 的PRIMARY_USER_ID(正是我在這裏調用它)回來找你,當您第一次使用您的Outlook帳戶登錄,而經過微軟的身份驗證過程中的響應對象的一部分。這不是您嘗試訪問的日曆的ID,而是其他日曆共享的主日曆(您可以在端點api/v2.0/me處找到的日曆)的想法。我所看到的所有ID都以一連串用破折號分隔的字母和數字的形式返回。

  • CALENDAR_ID是您嘗試從中獲取事件的共享日曆的ID。如果您向.../api/v2.0/me/calendars/發出請求,則可以查看每個共享日曆的這些ID。這將返回與您共享的每個日曆,有關所有者的信息以及該日曆的「ID」。

如果你在這些ID插上,並請求的URL上面,你應該能夠得到日曆事件從API回來。