2017-11-27 4 views
5

Ich habe ein Google Docs-Add-on, das so programmiert ist, dass die Sidebar geöffnet wird, sobald das Dokument geöffnet ist. Dies erfordert natürlich, dass das Add-On im Dokument installiert und aktiviert wird.Add-on mit LIMITED Auth kann Sidebar nicht öffnen

Ich sehe, dass seit einer Woche, die Sidebar Auto Open-Funktion, die in unserem Anwendungsfall sehr nützlich ist, nicht mehr funktioniert.

In Stackdriver logs Ich sehe diesen Bericht:

onOpen(): {authMode=LIMITED, source=Document, user=} 
publi-2.0.72-2017-11-27-18-57    [this is the publication version tag] 
2017-11-27T18:02:50.126Z : show menu 
2017-11-27T18:02:50.180Z : show sidebar 
Error showing sidebar Exception: You do not have permission to call showSidebar 
2017-11-27T18:02:50.283Z : end onOpen 

So klar, das Add-on ist in LIMITED Modus und showSidebar() sollte in der Spalte BESCHRÄNKT in der Suche nach dem addon authorization lifecyle (nur gelingen Tabelle).

-> Ich vermute, ein Bug oder eine neue Sicherheitsbeschränkung wurde kürzlich eingeführt.

Für die Aufzeichnung hier ist ein Code-Schnipsel:

/** 
* Basic setup. At the beginning: 
* 1. Add a "Add-ons" menu item. 
* 2. Display the doxMaster sidebar. 
*/ 
function onOpen(e) { 
    console.log("onOpen(): ",e) 
    console.log(addonversion); 
    doServerLog("show menu"); 
    showMenu(); 
    doServerLog("show sidebar"); 
    showSidebar(); 
    doServerLog("end onOpen"); 
} 

/** 
* Creates the Add-ons menu at the google drive panel. 
*/ 
function showMenu() { 
    DocumentApp.getUi().createAddonMenu() 
     .addItem(translate("sidebarMenu"), showSidebar.name) 
     .addItem(translate("joinFollowingParagraph"), insertJoinFollowingParaSymbol.name) 
     .addItem(translate("importDocument"), importDocument.name) 
     .addItem(translate("about"), about.name) 
     .addToUi(); 

} 

/** 
* Creates a doxMaster Add-on Sidebar. 
*/ 
function showSidebar() { 
    try { 
     var htmlTemplate = HtmlService.createTemplateFromFile('sidebar'); 
     var html = htmlTemplate.evaluate().setTitle(translate("appTitle")); 
     DocumentApp.getUi().showSidebar(html); 
    } 
    catch (e) { 
     console.log("Error showing sidebar ", e); // Add-on has not been enabled in this document 
    } 
} 
+0

Es gibt eine neue Berechtigung, die von Apps Script benötigt wird, um etwas mit einer Seitenleiste oder einem Dialogfeld auszuführen. Es gibt keine Dokumentation darüber, soweit ich weiß, und ich weiß von keiner Ankündigung über die Änderung. Ihre Benutzer werden möglicherweise aufgefordert, Ihr Add-On erneut zu autorisieren, und danach funktioniert es hoffentlich wie vorgesehen. Die neue Berechtigung lautet "Webinhalte von Drittanbietern in Eingabeaufforderungen und Seitenleisten in Google-Anwendungen anzeigen und ausführen". Aus diesem Grund erhalten Sie den Fehler hoffentlich. Wenn Ihr Add-on bereits installiert und vom Benutzer aktiviert wurde, glaube ich nicht, dass es den Status "Aktivieren" verlieren würde. –

+1

Sie haben Recht, darauf hinzuweisen. Ich habe bereits versucht, das Add-on von Grund auf neu zu registrieren/zu registrieren und fragte mich, warum ich diese neue Erlaubnis im Zustimmungsbildschirm angefordert hatte. Aber auch nach dieser neuen Zustimmung ist das Problem immer noch da. – Yves

Antwort

1

ich erneut getestet, und ich sehe, dass:

  • auf das Add-On Installation Modus FULL eingestellt ist
  • Dann wird beim Öffnen des Add-Ons der Dokumentmodus auf Kein
  • gesetzt, dann wird das Dokument geschlossen und der Modus wird dann auf LIMITED zurückgesetzt.

, die der erwarteten Lebenszyklus konsistent ist, mit der Ausnahme, dass:

  • Create unter LIMITED Modus der Veranstaltung
  • in LIMITED Modus versagt hat {user =} ohne Wert:

08: 22: 36.457 onOpen(): {authMode = LIMITED, source = Dokument, user =}

Ich denke, die Benutzerberechtigungen sind einige was verloren hat.

1

Gestern haben wir genau das gleiche Problem wie Sie Yves bemerkt. Allerdings kommt es für uns in einem Google Tabellen Addon vor.

Ich habe ein Problem bei Google erstellt: https://issuetracker.google.com/issues/69824548

Bitte Stern und Kommentar so bald abgeholt wird!

+0

Nach etwas mehr Test sehe ich, dass sogar ein Add-on in der Sidebar.html-Datei wird auf nur

reduziert Hello World

fordert die neue Berechtigung "Anzeigen und Ausführen von Webinhalten von Drittanbietern in Aufforderungen und Seitenleisten in Google-Anwendungen". -> Das ist komisch, weil es im Add-On keinen solchen Inhalt gibt. – Yves