Pobierz arkusz kalkulacyjny Google JSON
Staram się otrzymać JSON arkusza kalkulacyjnego Google. To działało kilka dni temu. Dla domyślnego arkusza nadal działa,ale nie dla wszystkich innych arkuszy.
To jest działający adres URL dla domyślnego arkusza roboczego: https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/od6/public/full?alt=json
I to jest adres URL arkusza, który przestał działać: https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/1416241220/public/full?alt=json
Komunikat o błędzie to Invalid query parameter value for grid_id.
Jedyną różnicą jest parametr arkusza (od6
vs 1416241220
).
2 answers
Uwaga Chrispetersona:
Możesz użyć numeru pozycji arkusza roboczego (1 dla pierwszego/domyślnego arkusza roboczego, 2 dla drugiego arkusza roboczego).
Oryginalna odpowiedź
Natknąłem się na ten sam problem i udało mi się znaleźć wyjście. Wydaje się, że ostatnio zmienili identyfikator dla każdego arkusza roboczego.Nowy identyfikator znajdziesz pod następującym adresem
https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full
Mam coś w rodzaju o3laxt8
pomiędzy <id>
znacznikami
Ps: od6
i default
wartości będą zawsze pracuj i Przekieruj do pierwszego arkusza dokumentu.
Joe Germuska ' note:
od6
nie działa już
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-06 10:23:52
Chciałbym podzielić się konkretnym przykładem, ponieważ uważam, że istnieje wystarczająco dużo mylących instrukcji, w tym zaakceptowana odpowiedź i identyfikatory arkuszy roboczych i gdzie je umieścić, nie są oczywiste.
Oto dokument, który opublikowałem i każdy z linkiem może view:
https://docs.google.com/spreadsheets/d/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/edit?usp=sharing
Dokument musi być opublikowany poprawnie. Są dwa przyciski publikowania i pierwszy jeden nie nadaje się do tego zadania. Użyj drugiej.
Klucz dokumentu jest ważny. Uzyskaj klucz pomiędzy /d/
a /edit
w adresie url. W moim przykładzie kluczem jest 1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c
.
Po drugie, użyj następującego stylu URL, zastępując klucz własnym:
https://spreadsheets.google.com/feeds/list/KEY/od6/public/values?alt=json
Mój przykładowy url odsyła bezpośrednio do opublikowanego json:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json
Wreszcie, jeśli arkusz ma wiele arkuszy (lub kart), zastąp od6
w adresie url liczbą. Mój przykład ma dwie zakładki, więc są dwa adresy URL odpowiadające każdej zakładce. Po prostu zamieniam od6
na 1
i 2
w zależności od kolejności arkuszy:
W przypadku arkusza roboczego, w którym karty są często zmieniane kolejność, możliwe jest uzyskanie identyfikatora danego arkusza i użycie go zamiast uporządkowanych liczb. Po raz pierwszy dowiedziałem się o tym podejściu od this post or this post :
W skrócie, zmieniłbyś prywatny adres URL z kluczem:
https://spreadsheets.google.com/feeds/worksheets/KEY/private/full
Działa to tylko w przeglądarce, w której jesteś zalogowany na Dysku Google na koncie z uprawnieniami.
Następnie musisz przesiać XML, aby znaleźć identyfikatory arkusza:
Zastąp poprzednie 1
i 2
identyfikatorami, na przykład:
Tab 1 (pierwszy identyfikator arkusza w nowym arkuszu google jest zawsze od6 przez domyślnie, bez względu na kolejność kart): https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-16 01:55:45