2017-02-13 75 views
1

我通過console.developers.google.com創建了服務帳戶客戶端。生成的密鑰,.p12證書,啓用DwD等... 然後,我繼續在管理API references中作爲describer。 (HTTP/REST版本)。這包括在Google管理員 - >安全性 - >高級設置中將這些客戶端作爲範圍提供給這些客戶端。 Current admin security config state 在我成功地交換訪問令牌的代碼並提出了我的域名下的用戶列表請求後,我得到了這個回覆。Google Admin SDK - 服務帳戶無法訪問資源

{ 
    "error": { 
    "errors": [ 
     { 
     "domain": "global", 
     "reason": "forbidden", 
     "message": "Not Authorized to access this resource/api" 
     } 
    ], 
    "code": 403, 
    "message": "Not Authorized to access this resource/api" 
    } 
} 

請求是GET,授權承載ya29.ElrxA8F [acctoken的其餘] 和谷歌開發者控制檯的儀表板顯示了在管理SDK錯誤請求圖表

回答

2

您必須impersonificate客戶爲指定的用戶

,所以我錯過了:「子」參數JSON AUTH有效載荷: 這是正確的JSON對象(與你的IDS五言的,等等),你需要使用從服務帳戶訪問管理SDK:

{
「ISS」: 「[email protected]account.com」, 「子」: 「[email protected]」,
「範圍」:「googleapis.com/auth/predictio N」,
「AUD」: 「googleapis.com/oauth2/v4/token」,
「EXP」:1328554385, 「IAT」:1328550785}

看看google admin sdk reference瞭解更多詳情。 (部分帶「子」參數)

0

也可以參照與此answer其中指出只有super admins, delegated admins and resellers可以訪問Admin SDK Directory API。嘗試委派一個只有權訪問的管理員,通過API更新用戶,然後讓您的Web應用程序使用爲此委派管理員創建的OAuth令牌。這也可能是因爲Google App上的配置錯誤「在Google Apps控制檯上添加帶範圍的客戶端ID」。。您可以在this上查詢。

相關問題