我正在使用 google Slide API 连接到我的项目帐户,连接工作正常,但有时我会收到此错误:
致命错误:未捕获的 Google_Service_Exception: { "error": { "code": 503, "message": "该服务当前不可用。", "errors": [ { "message": "该服务当前不可用。", /vendor/google/apiclient/src/Google/Http/REST.php:118 中的“domain”:“global”,“reason”:“backendError” } ],“status”:“UNAVAILABLE” } } 堆栈跟踪:# 0 /vendor/google/apiclient/src/Google/Http/REST.php(94): Google_Http_REST::decodeHttpResponse(对象(GuzzleHttp\Psr7\Response),对象(GuzzleHttp\Psr7\Request),'Google_Service_...' ) #1 /vendor/google/apiclient/src/Google/Task/Runner.php(181): Google_Http_REST::doExecute(对象(GuzzleHttp\Client), 对象(GuzzleHttp\Psr7\Request), 'Google_Service_...' ) #2 /vendor/google/apiclient/src/Google/Http/REST.php(58): Google_Task_Runner->在 /vendor/google/apiclient/src/Google/Http/REST.php 第 118 行运行
这是我的 getClient 函数 Google API:
function getClient(string $SCOPES,string $CLIENT_SECRET_PATH,string $CREDENTIALS_PATH,string $APPLICATION_NAME) {
$this->client->setApplicationName($APPLICATION_NAME);
$this->client->setScopes($SCOPES);
$this->client->setAuthConfig($CLIENT_SECRET_PATH);
$this->client->setAccessType('offline');
$this->client->setApprovalPrompt('force');
$credentialsPath = $this->expandHomeDirectory($CREDENTIALS_PATH);
if (file_exists($credentialsPath)) {
$accessToken = json_decode(file_get_contents($credentialsPath), true);
} else {
$authUrl = $this->client->createAuthUrl();
printf("Open the following link …Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法以编程方式在Google幻灯片中创建演示文稿.因此,例如,如果基础数据发生变化,我可以刷新套牌,而不需要为所有图表等提供大量复制粘贴.
类似于使用markdown和R slidify来生成数据驱动的PDF演示文稿.我的最终产品需要是漂亮的Google幻灯片演示文稿.
这是我可以使用Google Drive API的那种东西吗?我不确定App Script是否可用于幻灯片,就像你可以用于Sheets一样.
我希望解决方案存在的问题是一个普遍存在的问题.
一种选择是自动生成PDF,然后手动导入到Google幻灯片中.问题是由于转换错误和缺少其他幻灯片功能,这种方法有点受限.
任何输入都非常赞赏.
我需要在我的网站中控制嵌入式Google文档查看器.更具体地说,我需要能够启用/禁用Google幻灯片视图的控件,并能够使用JavaScript启动/停止演示.
我无法找到任何JavaScript API,也无法添加我的主机,因此我的JavaScript能够与iframe内容进行通信.
有人做过这样的事吗?
我想以PDF格式下载此链接:
不幸的是,这个URL使用我认可并可以操作的非标准格式.
将其修改为类似的东西
不起作用.
Google云端硬盘文件ID应为44个字母数字字符,但显然这长度为86个字符.
任何人都可以帮忙解释这是什么格式?
以下是我所做的:
在 Google 幻灯片上创建了一个新的演示文稿,
编辑了主布局视图上的预定义布局之一,以便拥有我想要使用的新布局,
将主布局的名称编辑为“会议”,
编辑了我想用于“Office”的预定义布局的名称。
我的问题是,在 Google Script 上,我无法引用我想要使用的这个特定的预定义布局。
到目前为止,我的代码如下:
function AddSlideToPresentatio() {
// The following line opens my presentation
var presentation = SlidesApp.openById('PresentationID');
//Now, I try to use my new layout
presentation.appendSlide("Office");
}
Run Code Online (Sandbox Code Playgroud)
我完全不知道为什么这不起作用。当我尝试运行它时,出现错误:
“找不到方法 appendSlide(string)。(第 6 行,文件“Office”)。
以下是我尝试过的一些组合,它们给我带来了类似的错误:
presentation.appendSlide('Office');
presentation.appendSlide(Office);
presentation.appendSlide("Meeting - Office");
presentation.appendSlide('Meeting - Office');
presentation.appendSlide(Meeting - Office);
Run Code Online (Sandbox Code Playgroud)
如果我只是使用presentation.appendSlide()它会创建一个新幻灯片,但不会使用我想要使用的布局。
在Google Apps Script Reference 中有三种方法:
但是,我似乎无法理解最后两个之间的区别,因为当我尝试使用它们时,它们似乎在做同样的事情。
javascript google-apps-script google-slides google-slides-api
我正在使用谷歌幻灯片 API 来创建 powerpoint 演示文稿。其他所需功能包括 - 导出为 PDF 导出为 HTML 导出为文档/图像格式。
Slides API有没有给出的方法?
恐怕我已经知道答案了,但也许其他人已经找到了一种方法来做到这一点。
我一直在仔细阅读 Slide Apps 脚本参考,我对其中的可能性感到兴奋。我想做的一件事是在演示文稿中更改幻灯片。具体来说,我想以某种方式表明已单击链接。
如果演示文稿中的链接像网络链接一样变成紫色,我会满足于此,但我想在单击某个链接或显示某个幻灯片时使用触发器。此触发器可以运行一个脚本,该脚本会适当地更改带有链接的幻灯片,以显示该链接已被单击,甚至完全删除该链接。
我知道幻灯片 API 落后于其他 API,但表单具有可以运行的可安装触发器onFormSubmit,而电子表格具有可以运行onChange和onEdit. 我希望看到幻灯片有一个 onPresent 触发器,该触发器运行一个脚本,可以使用onSlideChange可以报告 currentSlide 的方法来检测幻灯片更改。这样我们就可以在演示文稿显示时运行脚本,并根据当前幻灯片或链接采取行动。
除了将幻灯片特定触发器添加到 API 之外,还有什么方法可以在演示期间修改幻灯片吗?或者至少显示已单击链接?
在 Google 幻灯片中,可以通过右键单击幻灯片并选择“跳过幻灯片”来手动跳过幻灯片。在这种情况下,幻灯片在演示时不会显示。
我似乎无法使用 Google Apps 脚本以编程方式重新创建它。这个功能是否存在,或者这里有什么解决方法?
编辑:正如一些用户所指出的,该请求实际上并不返回 JSON,而是返回一个字符串编码的 JSON。这里的问题实际上并不是用 python 解析 JSON,而是以可以将请求发送到 API 的方式编写它。因此,没有必要使用 json python 库。
我正在通过 python 程序使用各种 google API(幻灯片、驱动器、表格等)。我在访问 API 请求返回的 JSON 中的属性时遇到问题。
以幻灯片演示文稿().get请求为例。它返回一个presentation的实例。我想访问它的 Slides 属性,它是一个页面对象数组。
所以我正在尝试代码
slideInfo = SLIDES.presentations().get(presentationId=presId).execute()
slideInfo = slideInfo.get(['slides'][0]['pageType'])
Run Code Online (Sandbox Code Playgroud)
但我收到一条错误消息“TypeError:字符串索引必须是整数”
但是,我认为使用括号和字符串来代替点访问是可以接受的。事实上,我不知道如何将其转换为点访问器,因为它会引发语法错误,因为键必须用引号引起来。
'slides'[0].'pageType'
Run Code Online (Sandbox Code Playgroud)
由于点而引发语法错误,如果没有点,它也不起作用