Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add container-bound script to a Google Docs file programmatically

I am uploading files to Google Drive using the Drive REST API. I would like to have some default add-ons enabled on those files by default. I was reading about container-bound scripts here.

But it is only possible to add container-bound script after opening the file in Google Docs UI. Is there any way to bind a script to a file while uploading or after uploading programmatically?

like image 565
Asym Avatar asked Jan 02 '23 11:01

Asym


1 Answers

You can create the project of container-bound script type in Google Docs using Apps Script API. And when you have some scripts and you want to add the scripts in the project of container-bound script type, please do the following flow.

1. Create new project in Google Docs

You can create it using Method: projects.create.

Endpoint :

POST https://script.googleapis.com/v1/projects

Request body :

{
  "title": string, // project name
  "parentId": string, // file ID of Google Docs
}

2. Import scripts in created project

You can import the scripts in the created project using Method: projects.updateContent.

Endpoint :

PUT https://script.googleapis.com/v1/projects/{scriptId}/content

Request body :

{
  "files": [
    {
      object(File)
    }
  ],
}

Note :

  • In order to use this API, please include https://www.googleapis.com/auth/script.projects in the scopes.

References :

  • Method: projects.create
  • Method: projects.updateContent

If this was not what you want, I'm sorry.

like image 196
Tanaike Avatar answered May 02 '23 08:05

Tanaike