Mem-build Aplikasi dengan AngularJS

Panduan ini akan membantu Anda mulai membangun Aplikasi Chrome dengan framework MVC AngularJS. Untuk menggambarkan cara kerja Angular, kita akan mereferensikan aplikasi sebenarnya yang dibuat menggunakan framework, Pengupload Google Drive. Kode sumber tersedia di GitHub.

Tentang aplikasi

Pengunggah Google Drive

Pengupload Google Drive memungkinkan pengguna melihat dan berinteraksi secara cepat dengan file yang tersimpan di akun Google Drive mereka, serta mengupload file baru menggunakan API Tarik lalu Lepas HTML. Ini adalah contoh bagus dari pembuatan aplikasi yang berkomunikasi dengan salah satu API Google; dalam hal ini, Google Drive API.

Uploader menggunakan OAuth2 untuk mengakses data pengguna. chrome.identity API menangani pengambilan token OAuth untuk pengguna yang login, sehingga kami tidak perlu melakukan apa pun. Setelah kami memiliki token akses yang berlaku lama, aplikasi akan menggunakan Google Drive API untuk mengakses data pengguna.

Fitur utama yang digunakan aplikasi ini:

Membuat manifes

Semua Aplikasi Chrome memerlukan file manifest.json yang berisi informasi yang diperlukan Chrome untuk meluncurkan aplikasi. Manifes berisi metadata yang relevan dan mencantumkan semua izin khusus yang perlu dijalankan aplikasi.

Versi manifes Uploader yang disederhanakan terlihat seperti ini:

{
  "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/"
  ]
}

Bagian terpenting dari manifes ini adalah bagian "oauth2" dan "permissions".

Bagian "oauth2" mendefinisikan parameter yang diperlukan oleh OAuth2 untuk melakukan keajaibannya. Untuk membuat "client_id", ikuti petunjuk dalam Mendapatkan client id. "Cakupan" mencantumkan cakupan otorisasi yang valid untuk token OAuth (misalnya, API yang ingin diakses oleh aplikasi).

Bagian "permissions" mencakup URL yang akan diakses aplikasi melalui XHR2. Awalan URL diperlukan agar Chrome dapat mengetahui permintaan lintas-domain mana yang diizinkan.

Membuat halaman acara

Semua Aplikasi Chrome memerlukan skrip/halaman latar belakang untuk meluncurkan aplikasi dan merespons peristiwa sistem.

Dalam skrip background.js-nya, Pengupload Drive membuka jendela berukuran 500x600 px ke halaman utama. Kode ini juga menentukan tinggi dan lebar minimum untuk jendela sehingga konten tidak terlalu singkat:

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'
  });
});

Jendela dibuat sebagai jendela chromeless (frame: 'none'). Secara default, jendela dirender dengan panel tutup/luaskan/minimalkan default OS:

Pengunggah Google Drive tanpa bingkai

Uploader menggunakan frame: 'none' untuk merender jendela sebagai "slate kosong" dan membuat tombol tutup kustom di main.html:

Pengunggah Google Drive dengan bingkai khusus

Seluruh area navigasi dibungkus dalam