2015-05-19 15 views
6

Próbuję uzyskać zawartość arkusza kalkulacyjnego na Dysku Google, ale nie mogę znaleźć takiego klejnotu, który mógłby to łatwo zrobić. Próbowałem google-drive-ruby, ale wymaga to kroku, w którym muszę uzyskać token uwierzytelniania ze strony Google'a. To nie jest bardzo pomocne, ponieważ muszę zrobić całą tę stronę serwera. Podobno istniała metoda logowania w poprzednich wersjach klejnotu, ale została usunięta.Uzyskiwanie dostępu do arkusza kalkulacyjnego na Dysku Google w Ruby on Rails

Czy jest jakiś sposób na zrobienie tego? Czy muszę użyć OAuth, aby zdobyć token i przekazać token na google-drive-ruby?

Odpowiedz

12

Udało mi się uzyskać odpowiedź na temat Reddita. Potrzebujesz konta usługi i chcesz udostępnić dokument za pomocą wiadomości e-mail dotyczącej aplikacji. Klawisz p12 również musi być zapisany.

# gem install google-api-client -v 0.8.6 # upper versions are not compatible with this code 

require "google/api_client" 

@email = "[email protected]" 
@key = "path/to/key.p12" 

key = Google::APIClient::KeyUtils.load_from_pkcs12(@key, 'notasecret') 

auth = Signet::OAuth2::Client.new(
    token_credential_uri: 'https://accounts.google.com/o/oauth2/token', 
    audience: 'https://accounts.google.com/o/oauth2/token', 
    scope: ["https://www.googleapis.com/auth/drive", "https://spreadsheets.google.com/feeds/"].join(' '), 
    issuer: @email, 
    access_type: 'offline', 
    signing_key: key 
) 

auth.fetch_access_token! 
puts auth.access_token 
Powiązane problemy