2017-02-13 4 views
1

J'ai créé un client de compte de service via console.developers.google.com. Clés générées, .p12 cert, DwD activé, et ainsi ... Ensuite, j'ai continué comme describer dans Admin API references. (Version HTTP/REST). Cela incluait des champs d'application pour ces clients, dans l'onglet Admin -> Sécurité -> Paramètres Advancet. Current admin security config state Après avoir échangé avec succès le code pour le jeton d'accès et fait une demande de liste d'utilisateurs sous mon domaine, j'ai reçu cette réponse.Google Admin SDK - Le compte de service ne peut pas accéder à la ressource

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

demande est GET, l'autorisation Bearer ya29.ElrxA8F [reste acctoken] et le tableau de bord de la console dev google montre le graphique avec demande d'erreur à l'administrateur SDK

Répondre

2

Vous devez impersonificate votre client désigné utilisateur

donc je MANQUÉ: paramètre « sous » charge utile JSON auth: Ceci est correct objet JSON (Evidement, avec vos identifiants, etc.), que vous devez utiliser pour accéder à votre SDK Admin du compte de service:

{
"iss": "[email protected]account.com", "sous": "[email protected]",
"scope": "googleapis.com/auth/predictio n »,
"aud": "googleapis.com/oauth2/v4/token",
"exp": 1328554385, "IAT": 1328550785 }

Jetez un oeil à google admin sdk reference pour plus de détails . (Pièce avec paramètre "sub")

0

Vous pouvez consulter cette answer qui stipule que seul super admins, delegated admins and resellers peut accéder à l'API Admin SDK Directory. Essayez de déléguer un administrateur qui a uniquement accès aux utilisateurs de mise à jour via l'API, puis demandez à votre application Web d'utiliser un jeton OAuth créé pour cet administrateur délégué. Cela peut également s'expliquer par une mauvaise configuration de Google App "Ajouter l'ID client avec des étendues sur la console Google Apps".. Vous pouvez vérifier sur this.