2013-04-19 6 views
12

Czy można uzyskać powiadomienie w czasie rzeczywistym (bez obszernej ankiety) o zmianach wprowadzonych w dokumencie Google (dokument/arkusz kalkulacyjny/prezentacja)? Jeśli tak, to jaka jest struktura modelu (jeśli ma to sens)? Wszelkie wskazówki do dokumentacji lub próbek pomogłyby!Zmiany w czasie rzeczywistym do dokumentu Google/arkusza kalkulacyjnego/prezentacji

Dokumentacja pod numerem https://developers.google.com/drive/manage-changes podaje wywołanie API, które natychmiast zwraca i informuje, czy nastąpiły jakieś zmiany od ostatniego. Jest to jednak bezużyteczne, które chcesz poznać niemal natychmiast po wprowadzeniu zmiany - trzeba co2 lub wcześniej powracać do wywołań interfejsu API i rezygnować z wielu zasobów. Z kolei Drive Real-time API daje możliwość natychmiastowego powiadomienia o wszelkich zmianach bez rozległego i częstego odpytywania. Czyni to za pomocą połączenia HTTP, które "zawiesza się", dopóki nie jest gotowa zmiana (lub upłynie czas). Jest to klasyczna technika z długim odpytywaniem.

Moje pytanie brzmi, czy taki obiekt istnieje dla Dokumentów Google/Arkuszy kalkulacyjnych/Prezentacji. Lub jest dostępna tylko dla niestandardowych plików aplikacji innych niż te standardowe. Jeśli nie jest dostępna, czy są jakieś plany na ich udostępnienie?

Z góry dziękuję!

Odpowiedz

1

Według mojej wiedzy - odpowiedź brzmi "NIE". Próbowałem już tego wcześniej i mogłem to zrobić tylko w ramach czasowego głosowania. Interfejs API jest ograniczony do informowania użytkownika tylko wtedy, gdy pytasz, a nie kiedy coś się dzieje.

Pomyślałem o kodzie, który jest osadzony w dokumencie i sam się nadaje do określonego adresu URL lub do jakiegoś słuchacza. Moje eksperymenty były z Google App Scripts. Szczegółowy pomysł polega na utworzeniu niestandardowej funkcji uruchamianej w przypadku zdarzenia "Zapisz". Ale nie mogłem pójść dalej, ponieważ w dokumentacji nie ma wystarczającej ilości informacji, aby osiągnąć ten konkretny cel.

O terminach tej dostępności są pytania na forum skryptów, ale żaden nie odpowiedział w tych wierszach.

+0

Pracownik Google z zespołu Drive API potwierdził, że obecnie nie jest to możliwe. – necromancer

+1

od teraz Wydaje się, że przy użyciu Google Apps Script nie można wysłać żądania HTTP ('FetchUrlApp') w zdarzeniu' onEdit' arkusza kalkulacyjnego. https://code.google.com/p/google-apps-script-issues/issues/detail?id=185#makechanges –

0

Odpowiedź Obawiam się, że nie jest. Obecnie nie ma możliwości powiadomienia użytkownika e-mailem o zmianie w dokumencie tekstowym na Dysku. Ta funkcja jest dostępna dla arkuszy kalkulacyjnych, ale nie dla plików tekstowych. Jeśli Twój dokument jest publiczny, możesz subskrybować jego kanał RSS, aby wyświetlić zmiany, lub skorzystać z funkcji Narzędzia -> Historia wersji na Dysku. Istnieje jeden program do pobrania, googledocsnotifier --information--, który wysyła e-maile z powiadomieniami o wprowadzeniu zmian i umożliwia otwarcie dokumentu, który został poddany edycji, ale wygląda na to, że działa on tylko w trybie online. Możesz download it here. Mam nadzieję, że to pomoże!

+0

w drugiej chwili wydaje się, że pytanie mogło nie być jasne. NIE szukam powiadomienia e-mail. Szukam API, prawie na pewno API HTTP, które nie powróci, dopóki nie zostanie wprowadzona zmiana (lub około minuta upłynęła od wykonania połączenia). dodatkowo, jeśli zmiana zostanie wprowadzona, powinna powrócić w ciągu kilku sekund od zmiany lub wcześniej! – necromancer