17
votes

Message 403: L'API de personnes héritées n'a pas été utilisée dans le projet

L'API Google est active mais donne une erreur; L'API People héritée n'a pas été utilisée dans le projet auparavant ou elle est désactivée. Activez-le en visitant https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project= puis réessayez. Si vous avez activé cette API récemment, attendez quelques minutes que l'action se propage sur nos systèmes et réessayez.


11 commentaires

La demande nécessite votre numéro de compte Google, sinon la connexion échouera.


J'ai couru votre identifiant avec le formulaire de code suivant et il dit que la clé n'est pas valide: stackoverflow.com/questions/34597229/...


Pourquoi ? mais l'ID client est vrai


Je rapporte simplement ce que dit la chaîne de réponse. La connexion est acceptée par le serveur puisque vous obtenez un 200 OK dans la réponse. Vous n'obtenez tout simplement pas les résultats de la requête car l'ID n'est pas valide.


Je ne comprends pas. L'ID client est vrai et le secret client est vrai.Merci


Je ne sais rien de l'API. L'API peut simplement signaler que la connexion est bonne sans vérifier que l'ID est bon. Je sais juste que lorsque je n'utilise pas l'API et que je me connecte directement à Google, j'obtiens un identifiant invalide.


J'ai exactement la même erreur, ça a commencé la semaine dernière. Avez-vous trouvé un moyen de résoudre ce problème? Je pense que quelque chose s'est mal passé du côté de Google avec mon enregistrement ClientId ... Peut-être qu'ils travaillaient sur quelque chose et nous avons eu un "effet secondaire"?


Quelqu'un a-t-il trouvé une solution?


Décembre 2019, l'erreur continue! Comme la solution d' Ilan Laloum doit être utiliser l'API people à la place plus api: s.


Quelqu'un a-t-il réussi à trouver une solution à cette erreur? J'essaie simplement de mettre en œuvre la connexion Google et l'erreur se produit toujours en janvier 2020. Quelqu'un?


Erreur encore 2020.


7 Réponses :


2
votes

Avant l' arrêt de l'API Google+ le 7 mars 2019, les méthodes people.get et people.getOpenIdConnect étaient disponibles pour demander le profil d'une personne.

Pour éviter de rompre les intégrations existantes avec ces méthodes prenant en charge la connexion, une nouvelle implémentation minimale ne renvoie que les champs de base nécessaires à cette fonctionnalité, tels que le nom et l'adresse e-mail, si l'utilisateur l'autorise. L'API Legacy People est l'endroit où ces méthodes resteront disponibles pour les appelants existants aux points de terminaison HTTP existants.

L'API Legacy People sert une nouvelle implémentation limitée des anciennes méthodes people.get et people.getOpenIdConnect de l'API Google+, nécessaires pour maintenir la fonctionnalité de connexion. Il est disponible pour les appelants existants des méthodes d'origine qui n'ont pas migré vers les remplacements recommandés tels que Google Sign-in ou Google People API au moment de l'arrêt de l'API Google+.

entrez la description du lien ici

Merci


0 commentaires

0
votes

L'activation de l'API Google Contacts et de l'API Google+ a résolu ce problème pour moi.


1 commentaires

Bonjour, cette action doit être valide au moment où vous l'avez effectuée. À partir de maintenant (2020), l'API Google+ a été complètement désactivée pour les nouveaux projets.



1
votes

Dans ce cas, je suis confronté au même problème. C'est ce que j'ai fait pour y remédier.

Situation:

  • NodeJS ver 8
  • "passeport-google-oauth": "^ 1.0.0"
  • Utiliser l'API Google+ comme connexion à Google

Lorsque j'exécute les applications et clique sur Se connecter avec Google, que s'est-il passé alors?

Comment le résoudre?

  • Accédez à la console Google
  • Cliquez sur Google+ API sous Social APIs, puis cliquez sur Enable API
  • Cliquez sur l'API Google Drive sous G Suite, puis sur Activer l'API
  • Cliquez sur l'API Google Sheets sous G Suite, puis sur Activer l'API
  • Mettez à jour "passeport-google-oauth": "^ 1.0.0" en "passeport-google-oauth": "^ 2.0.0" dans package.json
  • supprimez le dossier package-lock.json et node_modules (pour vous assurer que tout est clair)
  • exécutez cette commande: npm install
  • Ça fonctionne maintenant!

Remarque: mon code précédent utilise toujours profile._json.image.url pour obtenir l'image de profil. En fait, cette réponse n'était plus là. Alors je supprime ce code. Au revoir Google+ Merci API Google People.


2 commentaires

Cela me donne une erreur: There was an error while loading /apis/api/legacypeople.googleapis.com/overview?project=xxxx. Please try again.


avez-vous suivi les étapes?



0
votes

Salut, je suis récemment tombé sur le même problème. Comme l'explique Ilan Laloum, l'API Google+ a été complètement déclassée pour les nouveaux projets.

J'ai trouvé que l' API Google People fonctionne de la même manière. L'exemple suivant est basé sur le didacticiel Bookshelf dans GCP. Le code source peut être vu ici: https://github.com/GoogleCloudPlatform/golang-samples/tree/appengine/go111/cloudsql/getting-started/bookshelf (branche appengine/go111/cloudsql )

import people "google.golang.org/api/people/v1"

...

// retrieves the profile of the user associated with the provided OAuth token
func fetchProfile(ctx context.Context, tok *oauth2.Token) (*people.Person, error) {
peopleService, err := people.NewService(ctx, option.WithTokenSource(bookshelf.OAuthConfig.TokenSource(ctx, tok)))
if err != nil {
    return nil, err
}

return peopleService.People.Get("people/me").
    PersonFields("names,coverPhotos,emailAddresses").
    Do()
}

Cette méthode nécessite un contexte et un jeton OAuth, tout comme l'API Google+. Le peopleService est initialisé de la même manière.

Le peopleService.People.Get("people/me") prépare une requête qui récupère le profil de l'utilisateur connecté. Alors PersonFields("names,coverPhotos,emailAddresses") est un filtre sur les champs de profil. Cette partie de la demande est obligatoire. Finalement, Do() exécutera la demande.


0 commentaires

16
votes

Vous n'avez pas besoin d'installer d'autres API telles que l'API Google Drive, l'API Google Sheets ou autre, à l'exception de l'API Google+,

L'erreur vient à cause de "passeport-google-oauth": "^ 1.0.0"

Remplacez simplement la version "passeport-google-oauth": "^ 1.0.0" par "passeport-google-oauth": "^ 2.0.0" et supprimez les fichiers node_modules et package.lock.json et exécutez "npm i"

C'est ça


3 commentaires

tu gères! Merci! J'utilisais en fait passport-google-oauth20@1.0.0 , je l'ai donc supprimé et installé la version 2.0 après avoir lu votre réponse et cela a fonctionné.


comment puis-je faire cela pls? Pouvez-vous fournir des informations supplémentaires comme certaines commandes ou où les rechercher?


à l'intérieur du fichier package.json change la version comme suggéré par la réponse.



0
votes

Ce problème peut être résolu à l'aide du passport-google-token

npm install passport-google-token

const GoogleStrategy = require('passport-google-token').Strategy;

// Google OAuth Strategy
passport.use('googleToken', new GoogleStrategy({
    clientID: CLIENT_ID,
    clientSecret: CLIENT_SECRET
}, async (accessToken, refreshToken, profile, done) => {
    try {
        console.log('creating a new user')
        const newUser = new User({
            google: {
                id: profile.id,
                email: profile.emails[0].value
            }
        });

        await newUser.save();
        done(null, newUser);
    } catch (error) {
        done(error, false, error.message);
    }
}));


0 commentaires

0
votes

J'avais également le même problème mais avec mon application Rails. J'ai donc résolu le problème en mettant à niveau les gemmes omniauth en exécutant la bundle update devise omniauth omniauth-google-oauth2 dans le terminal.


0 commentaires