2016-08-15 50 views
6

Mam wygenerowany klucz serwera w menedżerze API i próbował wykonać następujące czynności na komputerze Mac:Google zwraca Arkusze API „Dzwoniący nie ma uprawnienia” podczas korzystania z serwera kluczy

curl 'https://sheets.googleapis.com/v4/spreadsheets/MySheetID?ranges=A1:B5&key=TheServerKeyIGeneratedInAPIManager' 

Ale to co powraca:

{ 
"error": { 
    "code": 403, 
    "message": "The caller does not have permission", 
    "status": "PERMISSION_DENIED" 
    } 
} 

Co ja tu robię źle?

+3

Klucz służy do uzyskiwania dostępu do publicznych danych, a to, co robisz, wymaga uwierzytelnionego dostępu. – DaImTo

+0

To ma sens. Dziękuję Ci! – Instabrite

Odpowiedz

9

Wiem, że jest trochę za późno na odpowiedź, ale dla innych osób borykających się z tym samym problemem.
Po prostu zmień uprawnienia arkusza na publiczne na dysku, aby można było uzyskać do niego dostęp bez uwierzytelniania za pośrednictwem wywołań interfejsu API.

Aby zmienić dostęp:

  1. Otwórz arkusz w Dysku Google
  2. Na prawym górnym rogu kliknij udział
  3. Na dole okna wiersza, kliknij przycisk Zaawansowane
  4. Zmień uprawnienia do publicznej lub osób link (nie jest wymagany rejestracja)

Wyślij żądanie API, aby pobrać dane z arkuszy bez uwierzytelnienia.

Uwaga: Jeśli arkusz zawiera poufne dane, nie jest bezpiecznie podawać go do wiadomości publicznej, a raczej wykonać za pomocą uwierzytelnionego dostępu.

+6

Możesz także udostępnić ten arkusz konkretnym e-mailem. adres e-mail twojego konta usługi (projektu). "client_email": "[email protected]", Umożliwi to dostęp do arkusza przez skrypt. –

+0

Dzięki bro. W dokumentacji nie ma zapisanych rzeczy, o których wspomniałeś. –