2016-08-08 30 views
0

Ich dachte, ich habe Dinge ins Rollen, aber ich habe festgestellt, ich diesen Fehler haben nach getAuthToken mit interaktiven Aufruf: false:Erste der Google-Identität des Benutzers von einem Chrom-App

OAuth2 request failed: Service responded with error: 'Bad Request'

‚Bad Request‘ wirklich sagt mir sehr wenig. Ok, ich verstehe, ich werde wahrscheinlich interative verwenden müssen: true (warum?) Und so, wenn ich das versuche, bringt es meinen Browser, fordert meine Google Login (die ich eingeben und was ein echter Schmerz ist, weil wir 2-Schritt haben Authentifizierung), dann ist ... nichts ... der Rückruf aufgerufen wird nie ...

Wer Interesse an mir aushelfen wahrscheinlich Bits von meinem manifest.json wollen, um zu sehen:

"key": "MII...QAB", 
"oauth2": { 
    "client_id": "35...-lnf...1pd.apps.googleusercontent.com", 
    "scopes": [ "identity" ] 
}, 
"permissions":[ "identity", "https://accounts.google.com/*", "https://www.googleapis.com/*", "https://*.amazonaws.com/*", "<all_urls>" ], 

Sie Werde wohl auch den betreffenden Code sehen wollen:

chrome.identity.getAuthToken({ 'interactive': true, 'scopes':['identity'] }, function (token) { 
    if (chrome.runtime.lastError) { 
     next(chrome.runtime.lastError); 
    } else { 
     next(null, token); 
    } 
}); 

oder alternativ

chrome.identity.getAuthToken({ 'interactive': false }, function (token) { 
    if (chrome.runtime.lastError) { 
     next(chrome.runtime.lastError); 
    } else { 
     next(null, token); 
    } 
}); 

Ich bin glücklich, weitere Informationen zur Verfügung zu stellen, die hilfreich sein könnten, um herauszufinden, wo ich falsch liege.

+0

Es sollte mit dem Browser bereits angemeldet in Chrom-Sitzung (die einem unterzeichneten auf chrome: // settings) verwendet werden, da drin, und wenn Sie bereits angemeldet, wird es mit einem Klick Genehmigung ermöglichen. – kzahel

+0

@kzahel: Ja, ich verstehe diesen Teil. es fordert mich auf, mich anzumelden (obwohl ich bereits angemeldet bin) ... dann tut es nichts und der Rückruf (mit Token) wird nie aufgerufen, wenn ich interaktiv: false ... dann sagt es mir "Bad Request" (nicht genug Informationen, um weiter zu machen ...) – Reinsbrain

Antwort

0

Es wird in der Chrome documentation der Zweck/die Bedeutung des booleschen Werts im interaktiven Objekt angegeben. Das Abrufen eines Token erfordert möglicherweise, dass der Benutzer sich in Chrome anmeldet oder die angeforderten Bereiche der Anwendung genehmigt. Wenn das interactive Flag true ist, wird getAuthToken den Benutzer bei Bedarf auffordern. Wenn das Flag false ist oder nicht angegeben ist, wird getAuthToken immer dann fehlschlagen, wenn eine Eingabeaufforderung erforderlich ist.

Jetzt für Ihre Fehler OAuth2 request failed: Service responded with error: 'Bad Request'

Stellen Sie sicher, dass die E-Mail-Adresse und Namen des Produkts in dem Zustimmungs Bildschirm liefern OAuth-Anmeldeinformationen zu schaffen.

Weitere Informationen finden Sie unter thread.