2016-03-08 70 views

回答

0

我停留在如何獲得其他用戶的Outlook日曆的訪問?

在這種情況下,您可以考慮使用應用程序權限。

在Azure的AD:

  1. 登記在Azure的AD Web應用程序。
  2. 添加「在所有郵箱讀寫日曆」權限 enter image description here
  3. 生成應用祕密密鑰

在您的應用程序,調用Office 365的圖形API - 創建通過使用應用程序令牌的事件。

http://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_post_events

 var tmgr = new ApplicationTokenManagement(); 

     var token = tmgr.AcquireToken(Settings.ResourceUrlOfGraph); 

     var api = new Graph.GraphCalendarAPI(token); 

     JObject body = new JObject 
     { 
      {"subject", "Create from Office 365 API"}, 
      {"start", new JObject { { "DateTime", "2016-03-09T00:00:00"}, { "TimeZone", "China Standard Time" } } }, 
      {"end", new JObject { { "DateTime", "2016-03-10T00:00:00"}, { "TimeZone", "China Standard Time" } } }, 
      {"isAllDay", true } 
     }; 

     var task = api.CreateEventAsync(body, "[email protected]"); 

     task.Wait(); 

你可以找到完整的示例here

+0

它不需要每個用戶登錄?我打算在Windows服務應用程序中使用它,我可以訪問所有用戶的日曆,而無需登錄。我將使用管理員帳戶訪問所有...有沒有辦法做到這一點? – cdp

+0

順便說一句我沒有看到一個選項來讀取和寫入所有郵箱日曆 – cdp

相關問題