使用 AngularJS 构建应用

本指南将指导您使用 AngularJS MVC 框架构建 Chrome 应用。接收者 展示 Angular 的实际应用,我们会参考 Angular 框架和 Google 云端硬盘上传器。GitHub 上提供了相关源代码

关于此应用

Google 云端硬盘上传器

借助 Google 云端硬盘上传器,用户可以快速查看存储在自己 Google 云端硬盘账号,也可以使用 HTML 拖放 API 上传新文件。这是一个 是构建与 Google 的 API 交互的应用的绝佳示例;在本示例中,Google 云端硬盘 API。

上传器使用 OAuth2 访问用户的数据。chrome.identity API 负责提取 登录用户的 OAuth 令牌,所以繁重的工作已经完成了!生命周期很长一段时间后 访问令牌,那么应用将使用 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'
  });
});

窗口创建为无边框窗口(框架:“none”)。默认情况下,窗口使用 操作系统的默认关闭/展开/最小化栏:

无框架的 Google 云端硬盘上传器

上传器使用 frame: 'none' 将窗口呈现为“空白可选广告”并创建自定义关闭链接 main.html 中的按钮:

带自定义框架的 Google 云端硬盘上传器

整个导航区域都封装在一个