getting "This app isn't verified" for Google Sheets script that only touches my sheet
Asked Answered
A

3

13

I'm working on a Google Sheets script that I'm only intending to access data in the same spreadsheet that the .gs file is associated with. It seems like I should have permission to run a script in my own spreadsheet, but whenever I run a function, I get a This app isn't verified message.

How do I bypass this? I've already enabled the Google Sheets API in both Advanced Google Services and the API Console. Am I wrong in assuming that if I create a spreadsheet and create an add-on that modifies that spreadsheet, that I shouldn't have to authorize it?

Here's the function that's throwing the error:

function getLastRow(){
  ss=SpreadsheetApp.getActiveSpreadsheet();
  var rulesSht=ss.getSheetByName('rules');
  return rulesSht.getLastRow();
}
Alvarado answered 28/1, 2018 at 1:22 Comment(2)
Does this answer your question? This app isn't verified This app hasn't been verified by Google yet. Only proceed if you know and trust the developerMathes
The automatic scopes allocated by use of the SpreadsheetApp apply to all spreadsheets in the users Google Drive. So be explicit: include the //@OnlyCurrentDoc annotation comment (which will prevent the access of anything outside of this document), or declare your OAuth scopes as read-only. You can find more details in the official documentation.Jagged
D
17

When "This app isn't verified" is displayed, the screen will be not displayed by authorizing once to use scopes which are used in the script. When users use APIs of Google, they are required to authorize for the scopes which are used in scripts. The flow of authorization is as follows.

  1. When "This app isn't verified" is displayed, click "Advanced".
  2. Click "Go to filename(unsafe)".
  3. Confirm scopes and click "ALLOW".

By this, the screen will be not displayed when you run the script again. When you modified your script, if new scopes are detected, the screen is displayed to authorize new scopes again. Such scopes are automatically detected at script editor. That authorization is required to do only once.

Note :

  • In your snippet of question, you can use the script without enabling Sheets API at Advanced Google Services and the API Console.

If I misunderstand your question, I'm sorry.

Determiner answered 28/1, 2018 at 2:11 Comment(4)
Looks like Google has taken away the Advanced option. Kinda crazy you can't run scripts on your documents. Google might as well say they just killed the scripts feature.Unquestioned
@Donny V. Thank you for your additional information.Determiner
Update on Donny's comment, the Advanced option is still available for me.Sentry
@Elliott Collins About Update on Donny's comment, the Advanced option is still available for me., I have to apologize for my poor English skill. Unfortunately, I cannot understand your comment. Can I ask you about the detail of it?Determiner
P
0

I had the same problem with a script I intended for distribution to other people. After some experimentation I found that it was that one of my function titles contained the word "show" and removing that took away the error.

I am unable to find any documentation on why that would be, but removing it solved the problem. Perhaps trying different names and submitting a ticket to Google with the word that caused it may be the best that can be done at this point.

Placeeda answered 3/5, 2020 at 6:31 Comment(0)
O
0

If your app script needs to work only with a spreadsheet that it was installed in, you should explicitly define this scope https://www.googleapis.com/auth/spreadsheets.currentonly in appsscript.json manifest (docs):

{
  "timeZone": "America/New_York",
  "dependencies": {
    
  },
  "oauthScopes": [
          "https://www.googleapis.com/auth/spreadsheets.currentonly"
        ],
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}

To view your appsscript.json go to Project Settings and check Show "appsscript.json" manifest file in editor

Overgrowth answered 4/10, 2023 at 15:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.