通过 PHP 重复 Google 幻灯片 API 'requests' 的功能
Function for repetitive Google Slides API 'requests' via PHP
我是 Google 使用 PHP 幻灯片 API 的新手。我正在编写一个脚本以通过我的脚本制作幻灯片。如果我在脚本中按顺序布置所有 'requests'(即 createSlide、createTable、insertText),......我能够在 Google 中制作幻灯片。但是,我想通过一个函数最小化所有的请求,却一直报错:
{ "error": { "code": 400, "message": "Invalid requests[1]: No request set.", "errors": [ { "message": "Invalid requests[1]: No request set.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } } %s
我的测试示例代码:
function createNewSlide($requests,$slide_id) {
$requests[] = new Google_Service_Slides_Request([
'createSlide' => [
'objectId' => $slide_id
]
]);
return $requests;
}
$requests = [];
$slide_id = 'unique_slide_id_'.rand(1,9999999);
$requests[] = createNewSlide($requests,$slide_id);
///////////////////////////////////////////////////////
// Execute the request.
$batchUpdateRequest = new Google_Service_Slides_BatchUpdatePresentationRequest(array(
'requests' => $requests
));
try {
$response = $slidesService->presentations->batchUpdate($created_presentation->presentationId, $batchUpdateRequest);
print("A new slide was added to the presentation<br>");
} catch (\Exception $e) {
//print($e->getMessageAsString()." \n%s\n");
print($e->getMessage()." \n%s\n");
}
//////////////////////////////////////////////////////////
接上注释,当你写$requests[] =
时,意思是把结果加到一个数组中。然后你 return 结果数组。由于您只想 return google 对象,因此您不必将 $requests 传递给函数,只需 return 来自函数的 google 对象。
function createNewSlide($slide_id) {
return new Google_Service_Slides_Request([
'createSlide' => [
'objectId' => $slide_id
]
]);
}
然后您可以将函数中的 returns 添加到 $requests 数组。
$requests[] = createNewSlide($slide_id);
我是 Google 使用 PHP 幻灯片 API 的新手。我正在编写一个脚本以通过我的脚本制作幻灯片。如果我在脚本中按顺序布置所有 'requests'(即 createSlide、createTable、insertText),......我能够在 Google 中制作幻灯片。但是,我想通过一个函数最小化所有的请求,却一直报错:
{ "error": { "code": 400, "message": "Invalid requests[1]: No request set.", "errors": [ { "message": "Invalid requests[1]: No request set.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } } %s
我的测试示例代码:
function createNewSlide($requests,$slide_id) {
$requests[] = new Google_Service_Slides_Request([
'createSlide' => [
'objectId' => $slide_id
]
]);
return $requests;
}
$requests = [];
$slide_id = 'unique_slide_id_'.rand(1,9999999);
$requests[] = createNewSlide($requests,$slide_id);
///////////////////////////////////////////////////////
// Execute the request.
$batchUpdateRequest = new Google_Service_Slides_BatchUpdatePresentationRequest(array(
'requests' => $requests
));
try {
$response = $slidesService->presentations->batchUpdate($created_presentation->presentationId, $batchUpdateRequest);
print("A new slide was added to the presentation<br>");
} catch (\Exception $e) {
//print($e->getMessageAsString()." \n%s\n");
print($e->getMessage()." \n%s\n");
}
//////////////////////////////////////////////////////////
接上注释,当你写$requests[] =
时,意思是把结果加到一个数组中。然后你 return 结果数组。由于您只想 return google 对象,因此您不必将 $requests 传递给函数,只需 return 来自函数的 google 对象。
function createNewSlide($slide_id) {
return new Google_Service_Slides_Request([
'createSlide' => [
'objectId' => $slide_id
]
]);
}
然后您可以将函数中的 returns 添加到 $requests 数组。
$requests[] = createNewSlide($slide_id);