AngularJS ile Uygulama Geliştirme

Bu kılavuz, AngularJS MVC çerçevesiyle Chrome Uygulamaları geliştirmeye başlamanıza yardımcı olur. Alıcı: örneğimizde, bu çerçeve kullanılarak oluşturulmuş gerçek bir uygulamaya, Google Drive Yükleme Aracı. Kaynak koda GitHub'dan ulaşabilirsiniz.

Uygulama hakkında

Google Drive Yükleme Aracı

Google Drive Yükleme Aracı, kullanıcıların kendi dosyalarında depolanan dosyaları hızlı bir şekilde görüntülemesine ve bu dosyalarla Google Drive hesabınızın yanı sıra HTML Sürükle ve Bırak API'lerini kullanarak yeni dosyalar yükleyebilirsiniz. Bu bir Google'ın API'lerinden biriyle iletişim kuran bir uygulama oluşturmak için iyi bir örnek; Bu örnekte Google Drive API'si.

Yükleyici, kullanıcının verilerine erişmek için OAuth2'yi kullanır. chrome.identity API, bir Giriş yapmış kullanıcının OAuth jetonu olduğundan işin zor kısmı bizim için tamamlanmıştır. Köklü bir üslup erişim jetonu kullanıyorsanız uygulamalar, kullanıcının verilerine erişmek için Google Drive API'sini kullanır.

Bu uygulamanın kullandığı temel özellikler:

  • CSP için AngularJS'nin otomatik algılaması
  • Google Drive API'den getirilen dosyaların bir listesini oluştur
  • Dosya simgelerini çevrimdışı depolamak için HTML5 Filesystem API
  • Masaüstünden yeni dosyaları içe/yüklemek için HTML5 Sürükle ve Bırak
  • Resimleri yüklemek için XHR2, alanlar arası
  • OAuth yetkilendirmesi için chrome.identity API
  • Uygulamanın kendi gezinme çubuğu görünümünü ve tarzını tanımlayan Chrome'suz çerçeveler

Manifest'i oluşturma

Tüm Chrome Uygulamaları için Chrome'un başlatması gereken bilgileri içeren bir manifest.json dosyası gerekir görebilirsiniz. Manifest, ilgili meta verileri içerir ve uygulamanın ihtiyaç duyduğu tüm özel izinleri listeler gerekir.

Yükleyici'nin manifest dosyasının sadeleştirilmiş sürümü şu şekilde görünür:

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

Bu manifestin en önemli bölümleri "oauth2"dir ve "izinler" bölümlerini kontrol edin.

"oauth2" bölümü, OAuth2 tarafından gereken parametreleri tanımlar. Bir "client_id" varsa Müşteri kimliğinizi alma başlıklı makaledeki talimatları uygulayın. "Kapsamlar" listele: OAuth jetonunun geçerli olacağı yetkilendirme kapsamları (örneğin, uygulamanın istediği API'ler) erişim).

"İzinler" bölümü, uygulamanın XHR2 aracılığıyla erişeceği URL'leri içerir. URL önekleri Chrome'un hangi web alanları arası isteklere izin vereceğini bilmesi için gereklidir.

Etkinlik sayfasını oluşturma

Tüm Chrome Uygulamaları, uygulamayı başlatmak ve sistem etkinliklerine yanıt vermek için bir arka plan komut dosyası/sayfası gerektirir.

Drive Yükleyici, background.js komut dosyasında ana sayfaya 500x600 piksel boyutunda bir pencere açar. Aynı zamanda içeriğin çok fazla bükülmemesi için pencere için minimum yükseklik ve genişliği belirtir:

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

Pencere, denetim içermeyen bir pencere olarak oluşturulur (çerçeve: 'none'). Varsayılan olarak, pencereler İşletim sisteminin varsayılan kapatma/genişlet/küçült çubuğu:

Çerçevesiz Google Drive Yükleyici

Yükleyici, pencereyi "boş seçenek listesi" olarak görüntülemek için frame: 'none' kullanır ve özel bir kapanış main.html içindeki:

Özel çerçeveli Google Drive Yükleyici

Tüm gezinme alanı bir