Question

Je suis en train d'essayer de permettre aux utilisateurs de mon application pour autoriser mon application à accéder à leur Doubleclick for advertisers API.Je suis de la manipulation de cette autorisation à l'aide de Passport.js.Quand j'ai inclure à la fois le profil portée et DFA portée comme ceci:

  app.get '/requestAccess', passport.authenticate 'dfa',
    scope: [
      'https://www.googleapis.com/auth/dfatrafficking',
      'profile'
    ]

Cela fonctionne très bien.Cependant, je ne se soucient de la TFD de l'api, et je n'ai pas vraiment l'intention de les utiliser quoi que ce soit à partir du profil de la portée, donc je voudrais le supprimer:

  app.get '/requestAccess', passport.authenticate 'dfa',
    scope: [
      'https://www.googleapis.com/auth/dfatrafficking',
    ]

Lorsque j'autorise l'utilisation de cette route maintenant, je reçois:

 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientPermissions",
    "message": "Insufficient Permission"
   }
  ],
  "code": 403,
  "message": "Insufficient Permission"
 }
}

Qui vient de Google, ce qui signifie que le champ d'application, j'ai demandé, avec a été insuffisante.C'est le profil de la portée nécessaire, alors pour tout type d'accès supplémentaire?Pourquoi ne puis-je pas demander la DFA portée?

Était-ce utile?

La solution

Non, le champ "profil" n'est pas requis pour Google OAuth 2.0.

Si vous voulez simplement l'autorisation pour l'IFD de l'API, vous aurez besoin de ce champ d'application https://www.googleapis.com/auth/dfatrafficking(comme officiel doc dit, et ce java échantillon n'utilisez ce champ)

La raison pour laquelle vous obtenez le "manque de Permission" lorsque vous utilisez passport.authenticate 'dfa' l'authentification à l'aide d'un protocole OAuth fournisseur(dans votre cas, c'est Google) est exécuté, lorsque le champ "profil" est nécessaire(comme ce doc a dit, "profil" est le champ d'application de base pour la connexion)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top