6

我一直在嘗試使用服務帳戶訪問日曆v3 API。我已經從管理控制檯添加了範圍https://www.googleapis.com/auth/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」和「Google+ API」中啓用。我花了2周的時間尋找這個問題的答案,而這個技巧對我來說很有用。

+0

我試過了,仍然不起作用 – erjoalgo

+0

@erjoalgo是否使用過Ruby和Ruby on Rails?我問這個問題,因爲我從你在Python上編寫的SO標籤中看到。 –

0

我想如果你使用Google Calendar Quickstart for Ruby,我認爲你應該在指定的路徑中刪除你的憑證......我試試它,它效果很好......你可以看到憑證放在這裏的位置

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

在您的家庭目錄中,您可能會發現Google批准Google請求訪問您的數據後Google存儲您的憑據的目錄。