2016-10-23 2 views
0

J'utilisais la bibliothèque googleapis et authentifiais mes informations d'identification de compte de service à l'aide de JWT. Ensuite, j'ai découvert google-cloud bibliothèque, qui a des modules spécifiques pour l'API de prédiction, mais n'a pas réussi à authentifier les mêmes informations d'identification de compte de service.Impossible d'authentifier les informations d'identification du compte de service dans la bibliothèque d'API Google Cloud Prediction pour NodeJS

Je ne pas utiliser Google Computing Engine ou App Engine et travaillant dans Developement locale

Je suivre le code dans la documentation:

var key = require('./MY_SERVICE_ACCOUNT_CREDENTIALS.json') 
var prediction = require('@google-cloud/prediction')({ 
    projectId: 'MY_PROJECT_ID', 
    credentials: key 
}) 

prediction.getModels((err, models) => { 
    if (err) { 
    console.log(err) 
    return 
    } 

    console.log('Models:', models) 
}) 

et il retourne:

{ ApiError: Access to project denied: user requires read permissions.            
    at [here goes stack trace]                     
    code: 401,                          
    errors:                           
    [ { domain: 'global',                       
     reason: 'authError',                       
     message: 'Access to project denied: user requires read permissions.',          
     locationType: 'header',                      
     location: 'Authorization' } ],                    
    response: undefined,                        
    message: 'Access to project denied: user requires read permissions.' } 

Je don ne sais pas où ça va mal et je ne suis pas sûr si je devrais authentifier avec googleapis et l'intégrer avec google-cloud ou etc. Il est aussi la ck d'échantillons

Répondre

0

Donc, je sais que c'est un couple de mois mais l'erreur est assez explicite, mais j'ai aussi rencontré ce problème moi-même. Pour l'essentiel, votre clé de service ne dispose pas des autorisations nécessaires pour lire (ou écrire) des informations de votre projet. Recherchez votre compte de service sous IAM & Admin dans la console Google Cloud et ajoutez Projet → Editeur et/ou Projet → Viewer au compte de service que vous avez créé. Assurez-vous que vous appuyez sur "Enregistrer" une fois que vous avez ajouté ces autorisations et attendez environ 20 secondes pour que ces autorisations reflètent.