6 python json google-slides-api
编辑:正如一些用户所指出的,该请求实际上并不返回 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)
由于点而引发语法错误,如果没有点,它也不起作用
因此,使用文档中的 JSON 表示形式:
{
"presentationId": string,
"pageSize": {
object (Size)
},
"slides": [
{
object (Page)
}
],
"title": string,
"masters": [
{
object (Page)
}
],
"layouts": [
{
object (Page)
}
],
"locale": string,
"revisionId": string,
"notesMaster": {
object (Page)
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方式访问幻灯片:slideInfo.get('slides')或slideInfo['slides']
因此,如果您想获取pageType第一张幻灯片的内容,则应为:
slideInfo['slides'][0]['pageType']
Run Code Online (Sandbox Code Playgroud)
或者
slideInfo.get('slides')[0].get('pageType')
Run Code Online (Sandbox Code Playgroud)