niedziela, lutego 24, 2008

Status 302 i import arkuszy z Google Docs

Wczoraj próbowałem przewalczyć pobieranie z Google Docs arkuszy, nie jest to tak proste jak w przypadku dokumentów tekstowych, dla których wystarczy stworzyć tylko na podstawie danych z kanału Atom dla danego dokumentu link i pobrać go.

W przypadku arkuszy konieczne jest coś bardziej skomplikowanego. Z Atom'a znamy tylko id dokumentu w postaci ciągu liter [małych i dużych] i liczb. Znaki te występują w linku do arkusza który otwieramy korzystając z interfejsu web'owego. Otwieramy wtedy link takiej oto postaci:

http://spreadsheets.google.com/ccc?key=<id_documentu>&hl=en

Wg. tego co mówi Firebug w pliku pobranym z tego adresu znajduje się linia z identyfikatorem potrzebnym do pobrania prawdziwego arkusza [identyfikator ten to ciąg zaczynający się od literki "o" a następnie 4 dużych liczb [19-20 cyfrowych] oddzielonych kropkami]. Linia ta powinna wyglądać mniej więcej tak:

var TX_id = "o0357445185327443958148.5112419854153290097.06588844254185365881.61386767422517346334"

Znając ten identyfikator można stworzyć adres pod którym ukrywa się już nasz upragniony plik z arkuszem:

http://spreadsheets.google.com/fm?id=o0357445185327443958148.5112419854153290097.06588844254185365881.61386767422517346334&hl=en&fmcmd=13

I byłoby ślicznie, gdyby nie jedno "ale" ;-) Próba pobrania pierwszego adresu kończy się zwróceniem przez serwer statusu 302 Document Moved Temporarily ze wskazaniem na skomplikowany adres:

https://www.google.com/accounts/ServiceLogin?service=wise&passive=true&nui=1&continue=http%3A%2F%2Fspreadsheets.google.com%2Fccc%3Fkey%3D<id_documentu>%26hl%3Den&followup=http%3A%2F%2Fspreadsheets.google.com%2Fccc%3Fkey%3D<id_documentu>%26hl%3Den"

A jak widzę pobranie go z ustawionym nagłówkiem Authorization na klucz uzyskany w trakcie logowania do Google Docs prowadzi nas do strony logowania... pewnie informacje autoryzacyjne jadą po ciasteczkach....
Dlatego wydaje się, że nie da się tak łatwo pobrać arkusza Google Docs...... No może przy pomocy domyślnej przeglądarki :-)

Jeżeli ktoś zrozumiał coś z tego posta to gratuluje :-) To tylko takie wylewanie żalu ;-)


Podobne postybeta
Taki tam rant po Gradle i Dockerze ;-)
RDrive w działaniu ;-) czyli kolejny raport z prac nad Kolczatką ;-)
Zegar w Raspberry Pi nie jest zawsze godzien zaufania
Docker image to taka kanapka ;-)
Telefon lepszym aparatem niż prawdziwy aparat ;-)

Brak komentarzy:

Prześlij komentarz