We published an add-on in the Google Marketplace. It works on Google Sheets.
Its written in Google Apps Script, the fact is when we are on the developer account it works perfectly, but when we install it on another accounts
some functions doesn't work (the ones we assign to images on the sheets), on the project execution we get time 0s and in the cloud logs we get the PERMISSION_DENIED error and we don't know why is this happening.
Since the functions to generate the sheets are working well and are on the same script.
Here we have a video reproducing the error:
https://drive.google.com/file/d/1ylgjszv6-pEZV3RbRiO_JUapjkL4oSgG/view?usp=sharing
And here is also the JSON of the error in Cloud log explorer
{ "insertId": "-gn21y0evi7t3", "jsonPayload": { "serviceContext": { "service": "AKfycbxBeGMG3RnIPYv9abPDfLyhqO9Syh1dePOuqq7ACOqVtDM" }, "message": "Se ha producido un error de servidor mientras se leía del almacenamiento. Código de error: PERMISSION_DENIED." }, "resource": { "type": "app_script_function", "labels": { "function_name": "Install", "invocation_type": "menu", "project_id": "door-opener-365907" } }, "timestamp": "2023-02-01T14:19:25.472Z", "severity": "ERROR", "labels": { "script.googleapis.com/process_id": "EAEA1GOxSkmncFik5KARbcKqGQRiSbwbSH8COxiJJX_xwosmdOYeBXgSXaYi8HyBg36qiPWYid4HhIdiFr_8xmq2lzQxP549ELze_97LxQ-hkXMv7ZoVxsR27T23RwLzg7KDOdXLRGGouhQ8ZjJeNtvNTRwsOBIEfbXtSXSj2OMFnrQIID7zxTrXZVqrX3buNMpsgG6CwSDV4UpIIzX99Pe19RtGMA_UmgfrUCbDq-vhF6K2C2CFXx40KU8enuGKBMWZrsXMkY39C65KB6dx6ADpFaepRepwXx6anjztU", "script.googleapis.com/project_key": "MLMTt4IvnipVJ69ylzgTEpqzUywQkXZem", "script.googleapis.com/deployment_id": "AKfycbxBeGMG3RnIPYv9abPDfLyhqO9Syh1dePOuqq7ACOqVtDM" }, "logName": "projects/door-opener-365907/logs/script.googleapis.com%2Fconsole_logs", "receiveTimestamp": "2023-02-01T14:19:25.646491972Z" }
Thanks in advance for your help
We tried changing the visibility of the add-on, also tried to share the spreadsheet where the main code was (This worked but we dont want to do it this way since we already published and verify the add-on).
The expected behaivour is to be able to run the same functions of the code in any spreadsheet that has the add-on installed.
Related
I have two projects in Google Cloud, both using Firebase. In Firebase I'm adding the Trigger Email extension that needs to deploy a Google Function. In one project it succeeds and the other fails. I can't seem to deploy ANY function that I write, even the simplest example.
Below is what I'm getting with one of my deploy attempts. Any help is greatly appreciated.
{
"protoPayload": {
"#type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 13,
"message": "Function deployment failed due to a health check failure. This usually indicates that your code was built successfully but failed during a test execution. Examine the logs to determine the cause. Try deploying again in a few minutes if it appears to be transient."
},
"authenticationInfo": {
"principalEmail": "xxxxxxxxxxxxxxxxxxx"
},
"serviceName": "cloudfunctions.googleapis.com",
"methodName": "google.cloud.functions.v1.CloudFunctionsService.UpdateFunction",
"resourceName": "projects/wod-rewards/locations/us-central1/functions/ext-firestore-send-email-processQueue"
},
"insertId": "-xxxxxxxxx",
"resource": {
"type": "cloud_function",
"labels": {
"function_name": "ext-firestore-send-email-processQueue",
"project_id": "xxxxxxxx",
"region": "us-central1"
}
},
"timestamp": "2022-02-14T20:39:25.365473Z",
"severity": "ERROR",
"logName": "projects/wod-rewards/logs/cloudaudit.googleapis.com%2Factivity",
"operation": {
"id": "operations/xxxxxxxx",
"producer": "cloudfunctions.googleapis.com",
"last": true
},
"receiveTimestamp": "2022-02-14T20:39:25.706517396Z"
}
You should check your logs for Cloud Functions in Google Cloud, might be possible that you ahve a configuration issue with your billing settings blocking you from excecute some tasks from your functions
I have an existing client-id (Web) with some working UIDs, I added a time ago. I now wanted to add one more and when I press the save button it just does not work (ProgressIndicator is spinning infinitely). I have a working internet connection and tried with several browsers (Safari,Chrome).
Has anyone seen this?
Edit:
I just tried again with it. I got this error in the web console:
{
"error": {
"code": 400,
"message": "The request failed because one of the field of the resource is invalid.",
"status": "INVALID_ARGUMENT",
"details": [
{
"#type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"type": "client_auth_config",
"subject": "?error_code=9&error_field_name=pending_domains&error_field_value=test-page.web.app"
}
]
}
]
}
}
When I added a domain that ended in .firebaseapp.com, everything worked. Since the domain I want to use ends in .web.app, I have a problem with this though.
Is it possible to programatically set the useByDefault Boolean for an App on a user's Google Drive?
According to: https://developers.google.com/drive/api/v2/reference/apps I can List all Apps, or Get a specific App... I would have expected to see a SET command.
I'm a Google Super Administrator, and we have Read&Write for Google Chrome extension force installed for our students, but they still need to manually navigate to their drive settings and change the useByDefault checkbox before the extension can work properly with PDF files.
I've already created a working Service account with the following scopes: DriveService.Scope.Drive, DriveService.Scope.DriveFile, DriveService.Scope.DriveMetadata, DriveService.Scope.DriveAppsReadonly
I'm currently using C#.
The information on the extension we are using is:
"kind": "drive#app", "id": "982754197589", "name": "Read&Write
for Google Chrome™", "shortDescription": "Experience PDFs in a
whole new way with Texthelp’s new PDF Reader.", "longDescription":
"", "supportsCreate": false, "supportsImport": false,
"supportsMultiOpen": false, "supportsOfflineCreate": false,
"installed": true, "authorized": true, "hasDriveWideScope":
true, "useByDefault": false, "productUrl":
"https://gsuite.google.com/marketplace/app/detail/982754197589",
"productId": "ohfjebjepnlldifcbcfmopifaebcjehc", "openUrlTemplate":
"https://pdf.texthelp.com/pdfreader?state=%7B%22ids%22:%5B%22{ids}%22%5D,%22exportIds%22:%5B%22{exportIds}%22%5D,%22action%22:%22open%22,%22userId%22:%22110948624529639950901%22%7D",
"primaryMimeTypes": [
"application/epub+zip",
"application/pdf",
"application/vnd.google-apps.drive-sdk.982754197589" ], "primaryFileExtensions": [
"pdf",
"epub" ], "icons": [
{
"category": "application",
"size": 10,
"iconUrl": "https://lh6.googleusercontent.com/-eFdHkrx3NH8/VQ_ez9gL7sI/AAAAAAAABjo/qGf6VEFHbpM/s10-c-k/16.png"
}
I'd appreciate any insight on the matter.
Thanks in advance
There are only two methods for apps in google drive list and get. There is no way of updating these settings programmatically and as far as i can see these methods aren't available at all in Google drive v3.
I think your going to have to do it manually
I've been trying to follow a tutorial on building your first action for google home:
https://medium.com/google-cloud/building-your-first-action-for-google-home-in-30-minutes-ec6c65b7bd32
I was able to deploy my application to the google cloud, but once I try to deploy my action.json test file I receive an error message that says: "No help topic for 'preview'."
./gactions preview --action_package action.json --invocation_name "three doors" --preview_mins 1234
No help topic for 'preview'
I've followed the suggestions from:
https://stackoverflow.com/questions/46591266/golang-runtime-panic-when-using-gaction-on-linux-to-update-google-home-assistant
But updating gactions didn't work either as there were no new updates.
I'm running ubuntu-18.04.2 Linux 4.18.0-15-generic x86_64
{
"versionLabel": "1.0",
"agentInfo": {
"languageCode": "en-US",
"projectId": "three-doors-3124",
"voiceName": "male_1"
},
"actions": [
{
"description": "Launch intent",
"initialTrigger": {
"intent": "assistant.intent.action.MAIN"
},
"httpExecution": {
"url": "https://us-central1-three-doors-3124.cloudfunctions.net/three_doors"
}
}
],
"locale": "en"
}
I'm not sure how to fix this problem, so any help would be much appreciated.
Thanks
That post is from 2017, and a lot of the development environment and setup has changed since then. I'd recommend going to the codelabs as they will provide good up to date starting guides.
I want to get the request header when I requested to doGet(). I deployed Web Apps like below.
Condition of Web Apps is
Execute the app as: is "me".
Who has access to the app: is "Anyone, even anonymous".
doGet() is
function doGet(e) {
console.log(e)
}
e is
{
"parameter": {
"key": "value"
},
"contextPath": "",
"contentLength": -1,
"queryString": "key=value",
"parameters": {
"key": [
"value"
]
}
}
e doesn't include the request header. I read here. But there are no information to get it. Perhaps there are no official methods to do. So I am looking for the workarounds. Are there workarounds to get the header?
Thank you so much for your time. And I'm sorry for my immature question.