6

Я пытался получить доступ к API Calendar v3 с учетной записью службы. Я уже добавил область https://www.googleapis.com/auth/calendar из консоли администратора и поделился своим календарем с адресом электронной почты этой учетной записи службы.Google calendar v3 возвращает 403 Недостаточно разрешения

У меня также был доступ к области https://www.googleapis.com/auth/coordinate с той же учетной записью сервиса, и она отлично работает.

Кроме того, пытался аннулировать доступ, как сказал здесь: Why is Google Calendar API (oauth2) responding with 'Insufficient Permission'?

Все это, и я все еще получаю;

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

Я что-то не хватает?

ответ

0

У вас была радость от этого? Я ударил ту же кирпичную стену.

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 
); 

Это работает для моего разрешения, после совместного календаря с учетной записью электронной почты службы.

+0

Вы имеете в виду общую учетную запись Google, которую вы используете для этой услуги? Можете ли вы назвать что-то вроде listCalendarList или можете работать только с определенными календарями? – Boushley

+0

Теперь я могу делать все виды Google_Service_Calendar_Event, вы что-то застряли? –

+0

Мне не удалось заставить работать служебную учетную запись. Я мог делать базовые вызовы, но, не будучи в домене Google Apps, он казался ограниченным. Переключилось на использование OAuth, что менее удобно для нашего приложения, но вызовы действительно работают. – Boushley

4

Попробуйте добавить к вам область «userinfo.email» и включить в консоли разработчиков «API-интерфейс« Контакты »и« API Google+ ». Я потратил 2 недели на поиск ответа на этот вопрос, и этот трюк сработал для меня.

+0

Я пробовал это, все еще не работает – erjoalgo

+0

@erjoalgo вы использовали Ruby и Ruby on Rails? Я задаю этот вопрос, потому что, как я вижу из тегов SO, которые вы пишете на Python. –

0

Я думаю, что если вы используете Google Calendar Quickstart для Ruby, я думаю, вы должны удалить свои учетные данные по указанному пути ... Я пробовал, и он хорошо работает ... Вы можете видеть, где здесь указаны учетные данные

CREDENTIALS_PATH = File.join(Dir.home, '.credentials', 
          "calendar-ruby-quickstart.yaml") 

В вашем домашнем реестре вы можете найти каталог, в котором Google хранит ваши учетные данные после одобрения запроса Google для доступа к вашим данным.

Смежные вопросы