使用 AngularJS 建構應用程式

本指南會協助您開始使用 AngularJS MVC 架構建構 Chrome 應用程式。目的地: 說明 Angular 的實際應用方式,我們將參考透過這個架構建構的應用程式, Google 雲端硬碟上傳器。您可以在 GitHub 取得原始碼

關於應用程式

Google 雲端硬碟上傳器

Google 雲端硬碟上傳器可讓使用者快速查看檔案並與其互動 Google 雲端硬碟帳戶,以及使用 HTML 拖曳 API 上傳新檔案。這是 如何建構與其中一個 Google API 對話的應用程式的絕佳範例;在這個範例中 Drive API。

上傳器會使用 OAuth2 存取使用者的資料。chrome.identity API 可處理 登入使用者的 OAuth 權杖,我們工作就完成了!建立 YouTube 資料庫 存取權杖,應用程式會使用 Google Drive API 存取使用者的資料。

這個應用程式使用的主要功能:

建立資訊清單

所有 Chrome 應用程式都需要 manifest.json 檔案,內含 Chrome 啟動所需的資訊 應用程式資訊清單包含相關中繼資料,並列出應用程式需要的任何特殊權限 此程序的第一步 是將程式碼簽入執行所有單元測試的存放區中

上傳者的資訊清單簡化版如下所示:

{
  "name": "Google Drive Uploader",
  "version": "0.0.1",
  "manifest_version": 2,
  "oauth2": {
    "client_id": "665859454684.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/drive"
    ]
  },
 ...
  "permissions": [
    "https://docs.google.com/feeds/",
    "https://docs.googleusercontent.com/",
    "https://spreadsheets.google.com/feeds/",
    "https://ssl.gstatic.com/",
    "https://www.googleapis.com/"
  ]
}

此資訊清單最重要的部分是「OAuth2」和「權限」專區。

「OAuth2」部分定義了必要參數,以便 OAuth2 發揮神奇效果。如要建立 「client_id」,請按照「取得用戶端 ID」一文中的指示操作。「範圍」列出 OAuth 權杖有效的授權範圍,例如:應用程式要啟用 存取)。

「權限」部分包含應用程式將透過 XHR2 存取的網址。網址前置字元 Chrome 才能知道允許哪些跨網域要求。

建立活動頁面

所有 Chrome 應用程式都需要背景指令碼/頁面,才能啟動應用程式並回應系統事件。

background.js 指令碼中,雲端硬碟上傳工具會開啟主頁面的 500x600 像素視窗。此外, 會指定視窗的最小高度和寬度,避免內容過於雜亂:

chrome.app.runtime.onLaunched.addListener(function(launchData) {
  chrome.app.window.create('../main.html', {
    id: "GDriveExample",
    bounds: {
      width: 500,
      height: 600
    },
    minWidth: 500,
    minHeight: 600,
    frame: 'none'
  });
});

系統會為無控制項視窗建立視窗 (頁框:「無」)。根據預設,視窗會使用 OS 的預設關閉/展開/最小化列:

無邊框的 Google 雲端硬碟上傳器

上傳者使用 frame: 'none' 將視窗轉譯為「空白插入畫面」您可以建立「自訂關閉」 main.html 中的按鈕:

有自訂頁框的 Google 雲端硬碟上傳器

整個導覽區域都會包裝在