forked from googleworkspace/php-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexecute.php
More file actions
71 lines (64 loc) · 2.51 KB
/
Copy pathexecute.php
File metadata and controls
71 lines (64 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* @license
* Copyright Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// [START apps_script_api_execute]
require __DIR__ . '/vendor/autoload.php';
// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Script($client);
$scriptId = 'ENTER_YOUR_SCRIPT_ID_HERE';
// Create an execution request object.
$request = new Google_Service_Script_ExecutionRequest();
$request->setFunction('getFoldersUnderRoot');
try {
// Make the API request.
$response = $service->scripts->run($scriptId, $request);
if ($response->getError()) {
// The API executed, but the script returned an error.
// Extract the first (and only) set of error details. The values of this
// object are the script's 'errorMessage' and 'errorType', and an array of
// stack trace elements.
$error = $response->getError()['details'][0];
printf("Script error message: %s\n", $error['errorMessage']);
if (array_key_exists('scriptStackTraceElements', $error)) {
// There may not be a stacktrace if the script didn't start executing.
print "Script error stacktrace:\n";
foreach($error['scriptStackTraceElements'] as $trace) {
printf("\t%s: %d\n", $trace['function'], $trace['lineNumber']);
}
}
} else {
// The structure of the result will depend upon what the Apps Script
// function returns. Here, the function returns an Apps Script Object
// with String keys and values, and so the result is treated as a
// PHP array (folderSet).
$resp = $response->getResponse();
$folderSet = $resp['result'];
if (count($folderSet) == 0) {
print "No folders returned!\n";
} else {
print "Folders under your root folder:\n";
foreach($folderSet as $id => $folder) {
printf("\t%s (%s)\n", $folder, $id);
}
}
}
} catch (Exception $e) {
// The API encountered a problem before the script started executing.
echo 'Caught exception: ', $e->getMessage(), "\n";
}
// [END apps_script_api_execute]