Connect(); 2016

第 31 卷,第 12 期

本文章是由機器翻譯。

Office - Microsoft Graph: 資料與情報的門戶

Yina 論點;2016

Microsoft 的金鑰策略賦予開發人員建置智慧型、 以人為中心的應用程式,在 Microsoft 平台,讓使用者可以充分運用工作與生活是"迷人產能 」。

快速發展的方式。人似乎一直處於連線狀態,而且使用者期望應用程式,以幫助他們手邊的工作 — 在精確的點,它們需要的地方,以滑鼠右鍵,而可以聰明地運用相關內容提供有意義之間建立連接人員和資訊,並讓更具生產力的資料使用的最有價值的商品︰ 時間。

想像一下可以查看下一個會議以及可協助您做好準備,例如,提供最新的文件或專案他們所處理的出席者有用的設定檔資訊,包括工作職稱,不僅能配合人員和資訊的應用程式。

或者,假設應用程式不只可以存取您的行事曆,但建議下一步小組會議的最佳時間。

如何可以坐在您的 OneDrive 的 Excel 檔案中取得最新的銷售預測圖表,並讓您的應用程式更新即時,全都從您的行動電話的預測?

或者,可以訂閱變更您的行事曆,警示您當您要花費太多時間在會議中,並提供建議的項目,您可能會遺漏或委派的應用程式根據相關程度出席者是您要如何?

或如何應用程式,可協助您排序出個人和工作資訊在電話上,例如因為它們與圖片,因為它們的回條之費用報表的圖片,應該移至您的商務用 OneDrive 的子系的圖片,應該移至您的 OneDrive 的圖片。

所有這些應用程式範例可以輕鬆地由 Microsoft Graph 支援。

適用於開發人員前所未有的機會

在資訊豐富的時代,我們知道的人所需要整合式的體驗,幫助他們利用許多的資料來源和有意義的方式,從多個 touchpoints 連接資訊。以下是 Microsoft Graph 所在的關鍵推動者,賦予開發人員建立功能強大和個人化的雲端應用程式,可以將轉換的產能的環境。

如果開發人員查看大量可用的資料,您會看到有大約 850 萬 Outlook 會議每月和超過 100 筆的排程是 Skype 會議。已傳送到目前為止使用 Office 和數百個數 pb 的資料儲存在 Office 365 的 4 兆電子郵件。使用者會花在 Office 中的兩到三小時內每一天平均和行動裝置的 Office 應用程式現在,Office 應用程式是行動,只是超過 340 萬次的下載。此範圍不只是兩年前可能 !

Microsoft Graph: 加/減速的整合

Microsoft Graph (graph.microsoft.com) 建立的時間智慧內容的使用體驗的使用者需求,以及減輕開發人員整合與 Microsoft 服務一次來建立它們。Microsoft Graph 是開發人員可以存取所有資料、 智慧和 Api 包括 Exchange、 SharePoint、 Azure Active Directory、 OneDrive、 Outlook、 OneNote、 規劃、 Excel 和其他 Microsoft 的智慧型定域機組中儲存的統一的閘道。Microsoft Graph 也會包含導出的見解和豐富智慧型引擎所執行的機器學習服務為基礎的關聯性。這是透過相同的 REST API 端點,將它們一起使用單一驗證劇本單一 URI 命名空間中所有 Microsoft 的 Api 提供更簡單的開發人員經驗。

Microsoft Graph 為何這麼重要的原因是因為這是 Office 365 中的資料 — 組織階層、 行事曆、 信箱、 檔案等等 — 會組織和人員如何完成工作的基石。輕鬆應用程式可以利用所有這些資料,是聰明一點也很和它們可以提供更佳體驗的使用者。

中所示 [圖 1, ,Microsoft Graph 彙總多個服務的資訊,並讓訊息應用程式可以在單一要求中。開發人員可以建立使用者和群組中心的經驗,幫助使用者達到更。範例︰ 您即將要符合產能應用程式,可讓您的設定檔和所有人的圖片,可以告訴您其組織結構,以及與它們相關的主題。它並不重要資料的儲存位置。Microsoft Graph 與您取得單一端點的存取權限。

Microsoft 圖形可讓應用程式存取數位工作與數位生活資料
[圖 1 Microsoft 圖形可讓應用程式存取數位工作與數位生活資料

Microsoft Graph 也可用來周遊資料服務可讓豐富內容的案例。範例︰ 教育應用程式模型群組周圍教室,可讓老師追蹤文件學生送出針對其專案中,查看者修改的檔案、 追蹤其共同作業和進度,以及交談周圍與類別相關的主題。

存取智慧

Microsoft Graph 表面智慧型 insights 結合智慧機器學習演算法,具有豐富的資料和使用者行為。使用 Microsoft Graph,開發人員可以存取此內容、 更聰明,讓應用程式的相關資料。比方說︰ 人挑選控制項是由 Microsoft Graph 人 API,其中運用其模糊比對功能,使用者不需記得如何拼出一些複雜的姓氏和可以取得資料,只要記住如何次序聽起來。假設銷售應用程式,銷售人員可以快速取得他的客戶連絡人資訊和有需要時,在那個點。多少次您忘了拼出一個名稱,然後的方式來弄亂了根據其他關鍵字的連絡人?

Microsoft Graph 智慧的另一個範例就是取得 trendind 文件。Microsoft Graph 接聽訊號,活動,例如檔案上傳、 檔案檢視和修改、 電子郵件交談,以此類推。然後它會使用其智慧型引擎計算豐富的關聯性,並推斷人和文件之間的見解。Microsoft Graph 時檔案的熱門圓形中,建立趨勢的見解。這項資訊就可以使用電源內容體驗,例如 Office 365 中 Delve,現在也是開發人員可使用 Graph API。

接觸數百萬名使用者

Microsoft Graph 也是消費者和商業定域機組的整合式的端點。工作與個人的產能之間的線條會逐漸模糊。該應用程式,可以排序您的個人和工作 OneDrive 和商務用 OneDrive 相片可以寫入具有單一程式碼基底和使用 Microsoft Graph 的單一應用程式註冊。這表示,開發人員可以使用此單一端點,而且相同的程式碼來存取個人資料坐在 Outlook.com、 Hotmail.com、 Live.com 和其他個人帳戶的 microsoft 雲端,也如同工作和學校資料坐在 Office 365 和 Azure Active Directory 帳戶。因此,Microsoft Graph 與您使用單一驗證流程與單一應用程式註冊相同的程式碼。

除了消費者和商業服務的統一的端點之外,Microsoft Graph 也是統一王朝部署端點。Microsoft 已宣佈在中國的 Microsoft Graph 上市今年。已增強在中國和加持多國家 Isv 建置更聰明的中文市場的應用程式的 ISV 環境。其他市場的可用更王朝定域機組,Graph 會變成閘道來存取其資料。

此外,Microsoft Graph 希望之間的落差可程式性的雲端和內部部署上。現在在預覽中,Microsoft Graph 可以觸及 Exchange 2016 信箱內部部署的混合式部署的客戶。從開發角度來看,程式碼也可以是無從驗證資料的來源位置相同的程式碼可以從信箱 (不論是 Office 365 信箱或 Outlook.com/Hotmail.com 信箱) 定域機組中取得資料或信箱內部。Microsoft Graph 會小心或讓資料存在的尋找和擷取應用程式。

Microsoft Graph 是 Office 平台的核心

Microsoft Graph 改變工作和產能的全貌 IT、 使用者和開發人員。針對 IT、 應用程式可以輕易地部署和管理,因為其圖形整合,因為資料存取受到保護。對於使用者,應用程式會更聰明、 更豐富和內容。對於開發人員,Microsoft Graph 會縮短開發時間,並可以很簡單地整合資料和智慧帶來極大的值。

現在,先進企業所轉換工作和產能透過 Microsoft 的圖形。例如:

  • Zapier: 使用 Excel 的資料,並讓使用者能夠建立功能強大的 Graph 「 zaps 」 或個人的工作流程自動化資料收集到 Excel,並將它與其他整合雲端服務。這是不可能再 Microsoft Graph 和其 Excel REST API 整合。
  • Smartsheet: 與 Microsoft Outlook,才能讓 Outlook 使用者互動的工作表中的圖形和 Smartsheet 中直接從 Outlook 體驗,同時利用資料從 OneDrive 和其他服務的專案整合。
  • SkyHigh 網路︰ 若要啟用安全性的充分運用 Microsoft Graph 小組取得機密資料的可視性、 資料損失防範措施原則套用到使用者或群組,並識別或警示高風險的行為。
  • Hyperfish: 全新的啟動可讓組織可以自動識別並快速且輕鬆地填入遺漏的使用者設定檔資訊。它會變成啟用更快速的人連線的豐富卡空白人卡。
  • Workday: 使用 Microsoft Graph 整合與 Office 365 群組,使員工起始組織中的新位置,當 Workday 中的所有變更會自動都反映在 Office 365 群組與員工取得立即存取所有的事件、 交談和文件。

API

Microsoft Graph 會使用 Web 標準,可讓任何能發出 HTTP 要求,以與它互動的裝置。它是一個遵循 Microsoft REST API 公開 API 社群和可在最近所做的指導方針的 RESTful API bit.ly/2dzFp1a。Microsoft REST API 的指導方針的許多部分演變標準化和合理化一些練習,可整合現有的服務 Api 和直接端點和結構描述,使它們無法參與 Microsoft Graph。我個人撰寫第一個提案命名慣例,大小寫,進入指導方針和 Microsoft Graph 建立共同作業的 microsoft 已超過 15 個小組間的長的內建 API 爭論的一部分。

Microsoft Graph 支援一組豐富的查詢參數,例如選取的篩選器展開並回應中傳回可用來指定與控制的資料量的排序方式。Microsoft Graph 也有越來越 Sdk 的裝置和服務,因此無論使用 iOS、 Android 或通用 Windows 平台 (UWP) 應用程式,建立在.NET 的 Azure 網站上,或建置的服務使用 Node.js、 Python、 PHP 或 Ruby,您可以快速將 Microsoft Graph 資料納入應用程式。

Microsoft Graph 使用者入門

您要如何利用 Microsoft Graph? 先瀏覽到 graph.microsoft.io。這將帶您前往開發人員入口網站中,可以找到快速入門發生時,可以啟動您的開發,而且在五分鐘內,也有可用的應用程式平台的選擇呼叫的 Microsoft 圖表。

在 [Microsoft Graph 開發人員入口網站中,您也可以找到文件、 完整的 API 參考一組完整的 Sdk 與各種平台,以及圖表總管程式碼範例。使用圖表總管,您可以將要求傳送至 Microsoft Graph 並立即使用您個人的帳戶、 您的工作或學校帳戶或甚至示範帳戶對回應。[圖 2 顯示某些展示的可以透過 Microsoft Graph 存取的資料類型的範例要求。可以讀取資料,建立、 更新及刪除使用 Api。您可以輕鬆地嘗試所有這些要求及使用圖表總管。

Microsoft Graph 中的 [圖 2 範例要求

作業 服務端點
取得我的設定檔 https://graph.microsoft.com/v1.0/me
取得我的檔案 https://graph.microsoft.com/v1.0/me/drive/root/children
取得我的相片 https://graph.microsoft.com/v1.0/me/photo/$ 值
取得我的郵件 https://graph.microsoft.com/v1.0/me/messages
取得我的行事曆 https://graph.microsoft.com/v1.0/me/calendar
取得我的專案經理 https://graph.microsoft.com/v1.0/me/manager
取得上次修改檔案 foo.txt 的使用者 https://graph.microsoft.com/v1.0/me/drive/root/children/foo.txt/lastModifiedByUser
在我的組織中取得使用者 https://graph.microsoft.com/v1.0/users
取得交談群組 https://graph.microsoft.com/v1.0/groups/<id>/conversations
讓其他人相關給我 https://graph.microsoft.com/beta/me/people
取得我的工作 https://graph.microsoft.com/beta/me/tasks
取得我的筆記 https://graph.microsoft.com/beta/me/notes/notebooks
取得在我附近的趨勢分析的檔案 https://graph.microsoft.com/beta/me/insights/trending

 

現在,我將探討 Microsoft Graph 中更多詳細資料。使用快速入門] 連結,在您啟動 graph.microsoft.io 建立 ASP.NET MVC Web 應用程式使用 Microsoft Graph.NET SDK 以使用者的名義傳送郵件。然後您它的增強 OneDrive API 來查詢使用者的最近使用的檔案中 Microsoft Graph 公開額外的呼叫。

瀏覽至 「 開始啟動頁面並進行互動試經驗後,瀏覽頁面的底部,然後選取 [ASP.NET MVC 進入點。

下一個步驟是跟著連結來註冊應用程式。請記得複製 「 密碼 」,並將它儲存,因為它不會提供給您一次。此程序之後,您將會與專案以.zip 封裝。將檔案解壓縮,Visual Studio 中開啟專案,建置並執行它。如果您需要對已註冊的應用程式進行更新或變更,您可以讓它們在 apps.dev.microsoft.com

本快速入門 」 經驗的程式碼範例會擷取、 插入 web.config 檔案中的應用程式識別碼和密碼和保持專案準備好要執行。執行的應用程式是 ASP.NET 4.6 MVC Web 應用程式連線至 Microsoft 工作或學校 (Azure Active Directory) 或使用 Microsoft Graph API 來傳送電子郵件的個人 (Microsoft) 帳戶。它會使用 Microsoft Graph.NET SDK 使用 Graph 所傳回的資料。

啟動並執行,您會有這個專案,將會新增至 OneDrive API 呼叫,以取得最近使用的登入使用者的項目清單。這份清單包含使用者的磁碟機中的項目,以及她必須從其他磁碟機的存取權的項目。

第一個步驟是修改 web.config 檔案以新增 Files.Read 權限範圍,讓使用者的 OneDrive 應用程式讀取權限。在 web.config 檔案中,尋找 ida: GraphScopes 索引鍵中的 appSettings 項目並加入 Files.Read 值的字串。下次使用者啟動應用程式中,服務會識別新的範圍,並以動態方式要求同意,使用者︰

<appSettings>
  ...
  <add key="ida.GraphScopes" value="User.Read Mail.Send Files.Read" />
</appSettings>

接下來,您將修改控制器。在 Controllers 資料夾中,開啟 HomeController.cs這個類別包含初始化 Microsoft Graph.NET SDK,以回應使用者介面事件的動作。將方法中的加入 [圖 3 來取得前 10 個最近 OneDrive 的項目。

[圖 3 取得前 10 個最近 OneDrive 項目

[Authorize]
// Get the items that are shared with the current user.
public async Task<ActionResult> GetMyRecentItems()
{
  try
    {
      // Initialize the GraphServiceClient.
        GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient();
        // Get the recent items.
        ViewBag.RecentItems =
          await graphClient.Me.Drive.Recent().Request().Top(10).GetAsync();
        return View("Graph");
      }
      catch (ServiceException se)
      {
        if (se.Error.Message ==
          Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        return RedirectToAction("Index", "Error", new { message =
          string.Format(Resource.Error_Message, Request.RawUrl,
          se.Error.Code, se.Error.Message) });
      }           
}

請注意 [Authorize] 之前的陳述式的方法。這有是為了確保此要求會起始登入,如果使用者未登入。

最後,更新檢視 Graph.cshtml [檢視] 資料夾中包含一個按鈕,將會觸發要求和 div 呈現項目的名稱和每個傳回的清單中的項目建立項目之使用者的名稱。這樣做,加上中的程式碼 [圖 4 檔案的結尾。

[圖 4 更新檢視 Graph.cshtml,在 [檢視] 資料夾中

<h2>Recent OneDrive Items</h2>
@using (Html.BeginForm("GetMyRecentItems", "Home"))
{
  <div class="col-sm-12">
    <div class="form-group">
      <button class="btn btn-default">Get Recent OneDrive Items</button>
    </div>
  </div>
}
<div class="col-sm-12">
  <label for="recent-items">Recent Items</label>
  @if (ViewBag.RecentItems != null)
  {
    foreach (var item in ViewBag.RecentItems)
    {
      <div class="row">
        <div class="col-sm-4">@item.Name</div>
        <div class="col-sm-8">@item.CreatedBy.User.DisplayName</div>
      </div>
    }
  }
</div>

結果是 ASP.NET 4.6 MVC Web 應用程式會連接至 Microsoft Graph,並可透過 Microsoft 的工作或學校 (Azure Active Directory) 帳戶的使用者或個人 (Microsoft) 帳戶的使用者用來從 Outlook.com 或 Office 365 信箱傳送電子郵件,並存取商務資料的 OneDrive。這是一個簡單的範例,說明資料來自於 Azure Active Directory、 SharePoint、 OneDrive、 Exchange、 Outlook.com、 規劃、 OneNote、 Excel 或其他服務從 Microsoft 雲端是否使用 Microsoft Graph 取得的資料是多麼的容易。

想像一下您可以建置的應用程式。Microsoft 正努力增加服務和 Microsoft Graph 中可用的功能上要加強了解使用者活動,以便更豐富的推斷和關聯性,並簡化開發人員體驗,就能存取所有的資料從單一連接 API。

這是有可能的開發人員便能感受到所有資料和使用 Microsoft Graph 的智慧。這背後 Microsoft Graph,因為它是在 2015 年 11 月啟動動量保全。Microsoft 已經看到龐大的理解中註冊的應用程式,即表示同意使用 Microsoft Graph 應用程式的組織數目,以及這些應用程式的使用者使用中的使用方式。使用 Microsoft Graph 建置這些應用程式的一些已經達到數百萬個作用中的每日使用者。

總結

Microsoft Graph 與開發人員就能夠建置智慧型、 以人為中心的應用程式可以輕鬆地與之互動的現代工作的所有觸控點的資料。它可讓開發人員利用 Microsoft 的雲端服務中的極大的資料量,以建置更聰明的應用程式,並協助使用者更具生產力。Microsoft Graph 公開 Api、 資料和智慧透過 Office 365 和 Azure Active Directory。Microsoft 正在建置朝不久的將來,多個圖形和整個 Microsoft 的所有 Api 貢獻,並透過單一的 Microsoft 雲端整合閘道來存取。這會轉譯到協助重建所有產業縱向市場中建立自黏體驗產能的生態系統。它會開啟,開發人員重新塑造醫療保健、 教育、 財務、 法律和許多詳細產業; 未來有無限的可能性。若要查看您的建置,我無法等待使用 Microsoft Graph。


Yina 論點 是 Microsoft 圖形和 Microsoft 的首席程式經理。 她正在 Office 和 Microsoft Api 從傳統模式和脫離技術新、 統一的 API 世界。她使用她的丈夫和其三個積極地支 boys 位於西雅圖地區和主動導致且參與成長、 保留和加強女性技術的活動。尋找她的 Twitter: @yina_arenas

感謝下列 Microsoft 技術專家來檢閱這份文件︰ Agnieszka Girling、 Gareth Jones 和 Dan Kershaw
Agnieszka Girling、 Gareth Jones 和 Dan Kershaw 是 Microsoft Graph 小組首席程式經理,以及 Yina 論點,協助設計 API 並負責整體設計選擇,以及 Microsoft 的最策略性 API 的技術方向。