Forebase Error: Were Sorry
Even the most experienced programmer rarely writes code correctly on the first attempt, making troubleshooting an important part of the development process. In this section we'll comprehend some techniques that tin can aid you detect, understand, and debug errors in your scripts.
Error messages
When your script encounters an error, an error message is displayed. The message is accompanied by a line number used for troubleshooting. There are two basic types of errors displayed in this way: syntax errors and runtime errors.
Syntax errors
Syntax errors are caused by writing code that doesn't follow the JavaScript grammar, and the errors are detected as soon as you try to relieve the script. For instance, the following code snippet contains a syntax error:
function emailDataRow(rowNumber) { var sheet = SpreadsheetApp.getActiveSheet(); var information = sheet.getDataRange().getValues(); var rowData = data[rowNumber-1].bring together(" "; MailApp.sendEmail('john@case.com', 'Data in row ' + rowNumber, rowData); }
The syntax problem here is a missing )
character at the end of the 4th line. When you lot attempt to salve the script yous'll become the following mistake:
Missing ) later on argument list. (line 4)
These types of errors are usually simple to troubleshoot, since they are found right away and typically take simple causes. You aren't able to save a file that contains syntax errors, meaning that but valid code is saved into your project.
Runtime errors
These errors are caused by using a function or class incorrectly, and can only be detected once the script has been run. For example, the following lawmaking causes a runtime error:
function emailDataRow(rowNumber) { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var rowData = information[rowNumber-one].join(" "); MailApp.sendEmail('john', 'Data in row ' + rowNumber, rowData); }
The code is formatted correctly, but we are passing the value "john" for the email accost when calling MailApp.sendEmail
. Since this is not a valid electronic mail accost the following error is thrown when running the script:
Invalid email: john (line 5)
What makes these errors more challenging to troubleshoot is that often the data you are passing into a part is non written in the lawmaking, just instead pulled from a spreadsheet, form, or other external information source. Using the debugging techniques beneath can assist yous to identify the crusade of these errors.
Mutual errors
Below is a listing of common errors and their causes.
Service invoked likewise many times: <activity name>
This mistake indicates that you have exceeded your daily quota for a given action. For example, yous might meet this error if you lot transport too many emails in a single mean solar day. The quotas are set at different levels for consumer, domain, and premier accounts and are subject area to modify at any time without a prior announcement past Google. Y'all can view the quota limits for various deportment in the Apps Script quota documentation.
Server not available. or Server mistake occurred, please try again.
At that place are a few possible causes for these errors:
- A Google server or arrangement is temporarily unavailable. Wait for a few moments and effort running the script again.
- In that location is an mistake in your script that doesn't have a corresponding error message. Try debugging your script and come across if you can isolate the trouble.
- There is a bug in Google Apps Script that is causing this fault. For instructions on searching for and filing bug reports, see the Bugs. Earlier filing a new bug, search to see if others have already reported it.
This fault indicates that the script is lacking the authorisation needed to run. When a script is run in the Script Editor or from a custom carte item an authorization dialog is presented to the user. However, when a script is run from a trigger, embedded with a Google Sites page, or run as a service, the dialog cannot be presented and this error is shown.
To authorize the script, open the Script Editor and run any role. The authorisation prompt appears so yous tin can authorize the script project. If the script contains new unauthorized services, you must re-qualify the script.
This error is oft caused by triggers that are firing before the user has authorized them. If you don't have access to the script project (because the error is occurring for an addition you apply, for example), you can usually authorize the script past using the add-on again. If a trigger continues to fire and crusade this error, you can remove your triggers by doing the following:
New editor
- At the left of the Apps Script project, click Triggers .
- At the right of the trigger you want to remove, click More > Delete trigger.
Legacy editor
- Select Edit > All your triggers in the Apps Script editor. The resulting dialog shows all active triggers running on your business relationship.
- Find the offending trigger in the list.
- Click the icon side by side to the trigger name to remove it.
- Click Salvage to record the deletion.
You can besides remove problematic add-on triggers by uninstalling the addition.
Access denied: DriveApp or The domain policy has disabled third-party Bulldoze apps
Administrators of Google Workspace domains take the ability to disable the Drive SDK for their domain, which prevents their users from installing and using Google Drive apps. This setting too prevents the users from being able to employ Apps Script add-ons that use the Drive service or Advanced Drive Service (even if the script was authorized prior to the admin disabling Drive SDK).
Even so, if an add-on or web app using the Bulldoze service is published for domain-wide installation and is installed by the administrator for some or all users in the domain, the script functions for those users even if the Drive SDK is disabled in the domain.
The script does non take permission to get the agile user's identity.
Indicates that the agile user's identity and email are not available to the script. This warning results from a call to Session.getActiveUser()
. It can also result from a phone call to Session.getEffectiveUser()
if the script is running in an authorization manner other than AuthMode.FULL
. If this warning is signaled, subsequent calls to User.getEmail()
merely return "".
There are a number of ways to troubleshoot this alarm, depending on the authorization manner the script is running under. The authorization mode is exposed in triggered functions as the authMode
property of the due east
issue parameter.
- In
AuthMode.FULL
, consider usingSession.getEffectiveUser()
instead. - In
AuthMode.Limited
, ensure that the owner has authorized the script. - In other authorization modes, avoid calling either method.
- If you are a Google Workspace customer newly experiencing this alert from an installable trigger, ensure that the trigger is running as a user within your organization.
Library is missing
If you add together a pop library to your script, you might receive an error message stating that it'southward missing, even though the library is listed as a dependency for your script. The reason might be that too many people are accessing the library at the same time. To avoid this mistake, effort one of the following solutions:
- Copy and paste the library's code into your script and remove the library dependency.
- Copy the library script and deploy it as a library from your account. Be sure to update the dependency in your original script to the new library instead of the public i.
Debugging
Non all mistakes cause an mistake message to be displayed. There might be a more subtle mistake where the code is technically right and tin can execute, just the results are not what you look. Here are some strategies for handling such situations and further investigating a script that is non running the way you expect.
Logging
While debugging it'southward often helpful to record information as a script projection executes. Google Apps Script has ii methods for logging information: the Cloud logging service and the more bones Logger and console services that are built in to the Apps Script editor.
Encounter the Logging guide for more details.
Mistake Reporting
Exceptions that occur because of runtime errors are automatically recorded using the Google Cloud Mistake Reporting service. This service lets y'all search and filter exception messages your script project creates.
New editor
To access Error Reporting, see View Cloud logs and error reports in the Google Cloud Platform panel.
Legacy editor
You can enable Mistake Reporting the first time you select View > Stackdriver Logging or View > Stackdriver Error Reporting in a new script.
One time enabled, exceptions that occur because of runtime errors are automatically recorded using the Google Cloud Stackdriver service. This service lets y'all search and filter exception letters your script project creates. You can reach the Stackdriver Error Reporting interface by selecting View > Stackdriver Error Reporting in the Apps Script editor.
Executions
New editor
Every time you run a script, Apps Script makes a record of the execution, including the Cloud logs. These records can help you sympathise which deportment your script performed.
To view the executions of your script in the Apps Script projection, at the left, click Executions .
Legacy editor
Every time you run a script, Apps Script makes a record of the execution, including the Cloud logs. These records can help you to empathise which actions your script performed. To view the executions of your script, select View > Executions in the Apps Script editor. This opens the Executions panel for the script in the Apps Script dashboard.
Checking Apps Script service status
Although rare, sometimes specific Google Workspace services (such as Gmail or Bulldoze) run into temporary problems that tin lead to service outages. When this occurs, Apps Script projects that collaborate with these services may not function as expected.
You lot tin can bank check if there is a Google Workspace service outage by viewing the Google Workspace Status Dashboard. If an outage is currently being experienced, you either wait for it to be resolved or seek additional help in the Google Workspace Aid Eye or the Google Workspace Known Issues documentation.
Use the debugger and breakpoints
To locate problems in your script, you lot tin run it in debug fashion. When run in debug mode, a script pauses when it hits a breakpoint, which is a line you've highlighted in your script that you lot think may accept a problem. When a script pauses information technology displays the value of each variable at that point in fourth dimension, allowing you to inspect the inner workings of a script without having to add a lot of logging statements.
Add a breakpoint
New editor
To add together a breakpoint, hover over the line number of the line you want to add the breakpoint to. At the left of the line number, click the circumvolve. The beneath image shows an example of a breakpoint added to a script:
Legacy editor
To add a breakpoint click on the line number for the line you lot want to pause at.
Run a script in debug mode
New editor
To run the script in debug mode, at the top of the editor click Debug.
Before the script runs the line with the breakpoint information technology pauses and displays a tabular array of debug data. You can use this table to inspect data like the values of parameters and the information stored in objects.
To command how the script is run, at the acme of the Debugger panel, utilise the "Step in", "Pace over", and "Step out" buttons. These let you run the script one line at a fourth dimension and inspect how values alter over time.
Legacy editor
To run the script in debug manner, click the bug icon () in the toolbar. Before the script runs the line with the breakpoint information technology pauses and displays a table of debug data.
This table allows you to audit the values of the parameters like row
and email
, as well as the information stored in the data
object. Notice that the rowData
variable doesn't accept a value assigned yet, because the script paused earlier that line was executed.
When the script is paused, an actress set of buttons are displayed in the toolbar which allow yous to control how the script is run. Using the "stride in", "step over", and "step out" buttons you lot tin run the script one line at a fourth dimension, allowing you to audit how values alter over time.
Issues with multiple Google Accounts
If y'all're logged into multiple Google Accounts at the same time, you might have trouble accessing your Apps Script projects, add-ons, and web apps. Multi-login, or being logged into multiple Google Accounts at once, isn't supported for Apps Script, add-ons, or web apps.
To fix bug from multi-login, try one of the following solutions:
- Log out of all your Google Accounts and merely log in to the i that has the Apps Script project, improver, or web app you need to access.
- Open an incognito window in Google Chrome, or an equivalent private browsing window, and log in to the Google Account that has the Apps Script projection, add-on, or web app you need to access.
Getting help
Debugging a problem using the tools and techniques listed above tin can solve a multifariousness of bug, but there may be issues you encounter that require some actress help to solve. Meet our Support page for information on where to ask questions and file bugs.
Source: https://developers.google.com/apps-script/guides/support/troubleshooting
0 Response to "Forebase Error: Were Sorry"
Post a Comment