Tworzenie aplikacji za pomocą AngularJS

Ten przewodnik ułatwia tworzenie aplikacji Chrome za pomocą platformy MVC AngularJS. Aby pokazać, jak działa Angular, użyjemy aplikacji stworzonej z wykorzystaniem tej platformy – narzędzia do przesyłania plików na Dysku Google. Kod źródłowy jest dostępny na GitHubie.

Informacje o aplikacji

Program do przesyłania plików na Dysku Google

Program do przesyłania plików na Dysku Google umożliwia użytkownikom szybkie przeglądanie plików przechowywanych na ich kontach Dysku Google i interakcję z nimi, a także przesyłanie nowych plików za pomocą interfejsów HTML przeciągania i upuszczania. Jest to świetny przykład tworzenia aplikacji, która komunikuje się z jednym z interfejsów API Google, w tym przypadku z interfejsem Google Drive API.

Program do przesyłania wykorzystuje protokół OAuth2 do uzyskiwania dostępu do danych użytkownika. Interfejs chrome.identity API obsługuje pobieranie tokena OAuth dla zalogowanego użytkownika, dzięki czemu ciężka praca wykonujemy za nas. Po uzyskaniu długoterminowego tokena dostępu aplikacje uzyskują dostęp do danych użytkownika za pomocą interfejsu Google Drive API.

Najważniejsze funkcje wykorzystywane przez tę aplikację:

Tworzę plik manifestu

Wszystkie aplikacje Chrome wymagają pliku manifest.json zawierającego informacje potrzebne Chrome do uruchomienia aplikacji. Plik manifestu zawiera odpowiednie metadane oraz zawiera listę specjalnych uprawnień, których potrzebuje aplikacja.

Skrócona wersja pliku manifestu narzędzia do przesyłania wygląda tak:

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

Najważniejsze części tego pliku manifestu to sekcje „oauth2” i „permissions”.

Sekcja „oauth2” definiuje parametry wymagane przez OAuth2 do działania. Aby utworzyć identyfikator klienta, wykonaj instrukcje podane w artykule Uzyskiwanie identyfikatora klienta. „Zakresy” zawierają listę zakresów autoryzacji, dla których token OAuth będzie prawidłowy (np. interfejsy API, do których aplikacja chce mieć dostęp).

Sekcja „uprawnienia” zawiera adresy URL, do których aplikacja uzyskuje dostęp przez XHR2. Prefiksy URL są wymagane, aby przeglądarka Chrome wiedziała, które żądania z wielu domen są dozwolone.

Tworzenie strony wydarzenia

Wszystkie aplikacje Chrome wymagają skryptu lub strony w tle do uruchamiania aplikacji i reagowania na zdarzenia systemowe.

W skrypcie background.js narzędzie do przesyłania plików otwiera okno o wymiarach 500 x 600 pikseli ze stroną główną. Określa też minimalną wysokość i szerokość okna, dzięki czemu treść nie staje się zbyt zwinięta:

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

Okno zostanie utworzone jako okno chromeless (ramka: „brak”). Domyślnie okna są renderowane za pomocą domyślnego paska zamykania/rozwijania/minimalizowania systemu operacyjnego:

Program do przesyłania plików na Dysku Google bez ramki

Program do przesyłania używa frame: 'none', aby renderować okno jako „pustą planszę” i tworzyć niestandardowy przycisk zamykania w main.html:

Narzędzie do przesyłania plików na Dysku Google z ramką niestandardową

Cały obszar nawigacyjny jest otoczony