Как создать и выполнить функцию с помощью API скриптов приложений - PullRequest
0 голосов
/ 30 марта 2020

Я создал скрипт, следующий за «Ruby Quickstart », но не могу запустить его с помощью API.

Я знаю, что должен опубликовать sh как исполняемый файл API. Для этого мне нужно переключить проект сценария на использование « стандартного проекта GCP », и я не смог найти, как это сделать из API.

Если я переключаю его вручную, он работает. Когда я выполняю код ниже, я получаю эту ошибку:

> 403, PERMISSION_DENIED: The caller does not have permission

Это код:

def create_and_execute
  # Initialize the API
  service = Google::Apis::ScriptV1::ScriptService.new
  service.client_options.application_name = APPLICATION_NAME
  service.authorization = authorize

  # Make the API request.
  request = Google::Apis::ScriptV1::CreateProjectRequest.new(
  title: "My Script3"
  )
  resp = service.create_project request

  script_id = resp.script_id
  content = Google::Apis::ScriptV1::Content.new(
  files:     [
    Google::Apis::ScriptV1::File.new(
    name:   "hello",
    type:   "SERVER_JS",
    source: "function helloWorld() {\n  console.log('Hello, world!');\n}"
    ),
    Google::Apis::ScriptV1::File.new(
    name:   "appsscript",
    type:   "JSON",
    source: "{\"timeZone\":\"America/Los_Angeles\",\"exceptionLogging\":\"CLOUD\",\"executionApi\":{\"access\":\"ANYONE\"}}"
    )
],
script_id: script_id
)

service.update_project_content(script_id, content)    
service.create_project_version(script_id,Google::Apis::ScriptV1::Version.new(script_id: script_id))
service.create_project_deployment(script_id,Google::Apis::ScriptV1::DeploymentConfig.new(script_id: script_id,version_number: 1))
service.run_script(script_id, Google::Apis::ScriptV1::ExecutionRequest.new(function: 'helloWorld', dev_mode: true))
  end

1 Ответ

0 голосов
/ 30 марта 2020

Извините, что сообщаю вам, что эта операция невозможна. Вам необходимо использовать стандартный интерфейс браузера (читается как , а не API ) для переключения проекта GCP, как описано здесь . В этих документах вы можете найти дополнительную информацию об использовании Apps Script в своем приложении, а здесь вы можете узнать, как активировать любой API (включая API скриптов Apps).

...