Ich stelle diese Frage nicht, ohne die Dokumente zu suchen und zu lesen. Ich war bisher 2 Tage dort. Ich bin sicher, ich vermisse etw. Ich versuche Google Auth auf Laufwerk Tabellenkalkulation zu implementieren. Ich habe alles versucht aber trotzdem die Fehlermeldung (redirect_uri_mismatch) erhalten. Grundsätzlich möchte ich ein Sidepanel mit einem Login-Bildschirm. Der Benutzer klickt auf die Schaltfläche, auth magic wird ausgeführt und leitet einen anderen HTML-Druck "Erfolg" ein, wenn der Benutzer den Zugriff zulässt.Google Skript oauth2 Fehler: redirect_uri_mismatch
- Ich habe ein Projekt in Google Dev-Konsole erstellt.
erstellt Berechtigungsnachweise
2.1-Client-ID:
131579675294-jc1c0ckuaa7n7ih7eevg19cisthgt00e.apps.googleusercontent.com2.2 Client-Geheimnis: XaebFsC18qfMmcZJKgokLEYo
Set Rückruf uri:
https: // script.google .com/macros/d/MCgMJPIdD1bbeG1PsFaNug8uUfae5TWT/BenutzercallbackProjektschlüssel: MCgMJPIdD1bbeG1PsFaNug8uUifae5TWT
Skript-ID: 1DYEShH45-AtikbEwfAG8w9P7Y39FHhCB-nGHWHOW4mUtq5DZLvubDxev
angeblich projectKey veraltet und stattdessen muss Skript-ID verwendet werden, aber weder funktioniert.
Ich benutze oauth2 so habe ich the external lib: 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
Erläuterung: meine gs Datei unter den folgenden Code hat. Ich habe eine Sidebar mit einer Schaltfläche ruft onSignIn(), wenn Sie darauf klicken. Ich erwarte den Zugriff auf Tabellen mit der Auth. Als Ausgangspunkt möchte ich die Autorisierungsseite sehen. Nachdem ich es akzeptiert habe, möchte ich, dass es auf eine Seite umleitet, die callback_uri ist und etwas Einfaches anzeigt. Aber es gibt mir den Fehler. Die ironische Phase war die Endpoint-Browser-Verbindung, die ich erstellt und erfolgreich umgeleitet hatte.
ENDPUNKT BROWSER LINK
Was mache ich falsch? Deine Hilfe wird geschätzt. Danke.
var CLIENT_ID = '131579675294-jc1c0ckuaa7n7ih7eevg19cisthgt00e.apps.googleusercontent.com';
var CLIENT_SECRET = 'XaebFsC18qfMmcZJKgokLEYo';
function onSignIn() {
var service = getService();
if (!service.hasAccess()) {
var authorizationUrl = service.getAuthorizationUrl();
var template = HtmlService.createTemplate('<a href="<?= authorizationUrl ?>" target="_blank">Authorize</a>');
template.authorizationUrl = authorizationUrl;
var page = template.evaluate();
return HtmlService.createHtmlOutput(page);
}
}
function authCallback(request) {
var service = getService();
var authorized = service.handleCallback(request);
if (authorized) {
return HtmlService.createHtmlOutput('Success!');
} else {
return HtmlService.createHtmlOutput('Denied');
}
}
function getService() {
return OAuth2.createService('spreadsheets_ozzy123')
.setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth')
.setTokenUrl('https://accounts.google.com/o/oauth2/token')
.setClientId(CLIENT_ID)
.setClientSecret(CLIENT_SECRET)
.setCallbackFunction('authCallback')
.setScope('https://docs.google.com/feeds') ;
}
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show sidebar', 'showSidebar')
.addToUi();
}
function showSidebar() {
var html = HtmlService.createTemplateFromFile('LoginSideMenu').evaluate();
SpreadsheetApp.getUi().showSidebar(html);
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename).getContent();
}
FULL ERROR
400. That’s an error.
Error: redirect_uri_mismatch
The JavaScript origin in the request, https://n-g7vwwdjiqopmv3hpcys4noea4krn6nxax6uaoda-0lu-script.googleusercontent.com, does not match the ones authorized for the OAuth client. Visit https://console.developers.google.com/apis/credentials/oauthclient/131579675294-jc1c0ckuaa7n7ih7eevg19cisthgt00e.apps.googleusercontent.com?project=131579675294 to update the authorized JavaScript origins.
Learn more
Request Details
redirect_uri=storagerelay://https/n-g7vwwdjiqopmv3hpcys4noea4krn6nxax6uaoda-0lu-script.googleusercontent.com?id=auth704130
response_type=permission id_token
scope=email profile openid
openid.realm=
client_id=131579675294-jc1c0ckuaa7n7ih7eevg19cisthgt00e.apps.googleusercontent.com
ss_domain=https://n-g7vwwdjiqopmv3hpcys4noea4krn6nxax6uaoda-0lu-script.googleusercontent.com
fetch_basic_profile=true
gsiwebsdk=2
That’s all we know.
@ShyamKansagra Vielen Dank so so sehr! Ich war mir so sicher, dass ich die richtige Kundennummer verwendete. Nachdem ich über Resources -> Advanced Services darauf zugegriffen hatte, wurde mir klar, dass das nicht stimmte. Ersetzte die richtigen, aber lief noch immer nicht. Dann habe ich ein neues Blatt erstellt und den ganzen Code auf den neuen übertragen. Dann hat es geklappt! Ich bin mir nicht sicher, wie ich deinen Kommentar gutschreiben soll. Gib mir Bescheid. – BinaryWo
Gern geschehen :), ich habe den gleichen Kommentar als Antwort hinzugefügt. Du kannst es akzeptieren. –