2011-01-04 12 views
6

próbuję uzyskać dostęp do paszy todo przez Google z adresem URL:Nadanie dla ToDo List Google (AuthToken, SecID)

https://www.google.com/calendar/tdl?secid=<SECID>&tdl={%22action_list%22%3A[{%22action_type%22%3A%22get_all%22%2C%22action_id%22%3A%221%22%2C%22list_id%22%3A%2215052708471047222911%3A0%3A0%22%2C%22get_deleted%22%3Afalse}]%2C%22client_version%22%3A-1}

Jeśli otworzyć to w mojej przeglądarce z prawidłowym SecID, pokazuje mi dokładnie to, czego chcę.

Teraz pojawia się pytanie: w jaki sposób uzyskać programowanie secid (konkretnie w programie java)? Mam dostęp do authToken (z usługi CalendarService), ale nie mam pojęcia, jak go użyć, aby autoryzować mój dostęp do powyższego adresu URL.

Próbowałem użyć adresu URL http://google.com/accounts/ServiceLogin, ale nie znalazłem żadnych przykładów.

Każda pomoc, proszę?

Odpowiedz

1

Z tego co czytałem secid jest identyfikator sesji uzyskane z plików cookie w przeglądarce. Podczas gdy twoja sprawa korzysta z Javy, co implikuje aplikację serwera. Jeśli tak jest, chcesz całkowicie zrezygnować z korzystania z usługi secid.

Zamiast tego chcesz sprawdzić Google's OAuth2 documentation. Jeśli używasz Javy, najprawdopodobniej byłbyś zainteresowany the web-server OAuth flow. Zwróć szczególną uwagę na diagramy sekwencji.

Kluczowe etapy obejmują:

1) uzyskać kod autoryzacji OAuth z Google za zgodą użytkownika. W tym celu przekierowujesz użytkownika do Google z odpowiednim zakresem. Sprawdź listę calendar scopes dla twojej sprawy. Po wyrażeniu zgody przez użytkownika Google przekierowuje z powrotem do Ciebie za pomocą kodu autoryzacyjnego.

2) Zadzwoń do Google OAuth z kodem autoryzacji i danymi uwierzytelniającymi aplikacji, aby wymienić token dostępu.

3) Zadzwoń do interfejsu API Google Calendar za pomocą tokena dostępu.

Jeśli używasz klienta Java firmy Google zgodnie z sugestią @ChaosPredictor, prawdopodobnie niektóre etapy są już zawarte w kliencie Java (a Twój kod będzie znacznie prostszy).

Powiązane problemy