簡體   English   中英

從Office365的sharePoint在線計數未讀消息

[英]sharePoint online count unread message from office365

作為該項目的一部分,該項目的目的是顯着改善SharePoint Online網站的視覺效果,我有些困惑。 在左側橫幅的主頁上,用戶希望查看他們在Office365中擁有的未讀郵件數。

我在母版頁中創建了一個區域來放入結果。我以為Rest API用於執行此操作:

$.ajax ({
    type: "GET",
    url: " https://outlook.office365.com/ews/odata/Me/Folders/Inbox",
    dataType : "json",
    success : function (resp) {
        // count unread messages 
    },
    error : function (e) {
        alert (' Error121212 :' + JSON.stringify (e));
    }
 })

不幸的是,我收到跨域之類的錯誤。 我嘗試使用JSONP,但也不起作用(未捕獲的語法錯誤意外令牌)。

您能告訴我這是否是一種好習慣嗎? 無論如何,我覺得我必須找到一種認證技術。 (在JSONP的情況下,我有一個彈出窗口要求我進行身份驗證,然后顯然在回調上發生問題)...

我想避免開發一種需要典型部署Wsp的類型。

預先感謝您的幫助。

您的Ajax請求網址似乎不正確。 通過API獲取收件箱消息的URL為: https://outlook.office365.com/api/v1.0/me/folders/inbox/messages : https://outlook.office365.com/api/v1.0/me/folders/inbox/messages

獲得響應后,可以使用簡單的for循環對IsRead屬性設置為false的對象數進行計數並顯示該計數。

這里的問題與CORS以及瀏覽器如何拒絕處理跨域請求有關。 為了解決這個問題,通常您會

  • 更改遠程服務器上的響應標頭-此處不是一個選項
  • 使用某種代理來處理請求-這是SharePoint應用程序出現的地方。

我知道您已規定要避免使用WSP樣式部署,但是根本無法解決,您必須使用SharePoint App Model

條走一段很長的方式來回答你的問題,但對於完成基本步驟如下

  1. 在Visual Studio中創建SharePoint托管的應用程序
  2. 在App Manifest中,您需要使用AppManifest部分定義與遠程主機(在本例中為outlook.office365.com主機)的信任關系。

  3. 使用SP.RequestExecutor.executor代表您發出請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM