6

Ho cercato di accedere a Calendar v3 API con un account di servizio. Ho già aggiunto l'ambito https://www.googleapis.com/auth/calendar dalla console di amministrazione e ho condiviso il mio calendario con l'indirizzo email dell'account del servizio.Google Calendar v3 restituisce 403 Autorizzazione insufficiente

Ho anche accesso allo scope https://www.googleapis.com/auth/coordinate con lo stesso account di servizio e funziona perfettamente.

Inoltre, ha cercato revoca dell'accesso come detto qui: Why is Google Calendar API (oauth2) responding with 'Insufficient Permission'?

Tutto questo, e ancora sto ottenendo;

{"error"=> 
    {"errors"=> 
    [{"domain"=>"global", 
     "reason"=>"insufficientPermissions", 
     "message"=>"Insufficient Permission"}], 
    "code"=>403, 
    "message"=>"Insufficient Permission"}} 

Mi manca qualcosa?

risposta

0

Hai provato gioia? Ho colpito lo stesso muro di mattoni.

UPDATE:

$key = file_get_contents($key_file_location); 
$scopes = array('https://www.googleapis.com/auth/calendar'); 
$cred = new Google_Auth_AssertionCredentials(
    $service_account_name, 
    $scopes, 
    $key 
); 

Questo ha lavorato per la mia autorizzazione, dopo aver condiviso il calendario con l'account del servizio di posta elettronica.

+0

Si intende solo con l'account Google generale che si sta utilizzando per il servizio? Sei in grado di chiamare qualcosa come listCalendarList o sei in grado di operare solo su calendari specifici? – Boushley

+0

Ora posso fare tutti i tipi di roba Google_Service_Calendar_Event, sei bloccato su qualcosa? –

+0

Non sono riuscito a far funzionare le risorse del conto di servizio. Potevo effettuare chiamate di base, ma senza essere in un dominio Google Apps sembrava limitato. Passato a utilizzare OAuth che è meno conveniente per la nostra applicazione, ma le chiamate funzionano effettivamente. – Boushley

4

Provare ad aggiungere scope 'userinfo.email' e abilitare nella console degli sviluppatori "Contacts API" e "Google+ API". Ho trascorso 2 settimane a cercare una risposta a questa domanda e questo trucco ha funzionato per me.

+0

Ho provato, non funziona ancora – erjoalgo

+0

@erjoalgo hai usato Ruby e Ruby su Rails? Faccio questa domanda perché, come vedo dai tag SO, stai scrivendo su Python. –

0

Penso che se utilizzi Google Calendar Quickstart per Ruby, penso che dovresti eliminare le tue credenziali nel percorso specificato ... Lo provo e funziona bene ... Puoi vedere dove sono inserite le credenziali

Nella directory home, è possibile trovare una directory in cui Google memorizza le credenziali dopo aver approvato la richiesta di Google per accedere ai dati.