2010-11-19 8 views
5

Tworzę małe rozszerzenie do Chrome i chcę zachować jego dane online.
Potrzebuję darmowego i bardzo małego (< 1MB na użytkownika) dostawcy hostingu chmurowego, który ma bezbolesne uwierzytelnianie.
Idealnie, chciałbym po prostu API Google, który robi localStorage, ale w chmurze i różne dla każdej nazwy użytkownika.rozszerzenie chrome z przechowywaniem w chmurze

Odpowiedz

5

Dlaczego nie możesz korzystać z Google App Engine? Interfejs API jest dość łatwy w użyciu. Lub użyj innych usług Google powiązanych z poszczególnymi użytkownikami, takimi jak Dokumenty Google. W ten sposób Google Chrome Sync przechowuje zakładki synchronizowane w przeglądarce za pośrednictwem Dokumentów.

Jeśli chodzi o localStorage, localStorage jest kluczowym interfejsem do przechowywania wartości dla JavaScript (strona klienta). Jeśli chcesz przechowywać zewnętrzny plik lokacji rozszerzenia w trybie online, możesz iterować klucze/wartości pamięci masowej i przechować je przez skontaktowanie się z zewnętrzną (niezależnie od używanego API) usługą. I pobieraj je za każdym razem, gdy zaczyna się rozszerzenie (w background.html stronie).

Dlaczego miałbyś to zrobić? Google Chrome Sync domyślnie synchronizuje wszystkie te informacje.

+1

Silnik aplikacji wydaje się być dobrym wyborem. Btw, czy znasz witrynę z przykładami synchronizacji Chrome? – x10

+1

Synchronizacja Chrome odbywa się natywnie w przeglądarce, a nie w ramach rozszerzenia. Przechowują zakładki w Dokumentach Google (możesz czytać interfejsy API oferowane przez Dokumenty i robić to samo, jeśli chcesz). Jeśli chcesz tylko zsynchronizować swoje preferencje gdzieś online (do zarządzania przez Internet), po prostu wykonaj iterację listy i zapisz klucze w magazynie danych Google App Engine. –

15

Do Twojej dyspozycji jest nowy interfejs API rozszerzenia, który asynchronicznie przechowuje ustawienia takie jak ustawienia użytkownika i opcjonalnie synchronizuje je z innymi urządzeniami użytkownika.

https://developer.chrome.com/extensions/storage.html

Na przykład:

chrome.storage.sync.set({name:'Bob'}, function() { 
    console.log('Name saved'); 
}); 

// Later on... 
chrome.storage.sync.get('name', function(r) { 
    console.log('Name retrieved: ' + r['name']); 
}); 

Korzystanie sync zsynchronizuje to między urządzeniami za pomocą local nie będzie.