如何获取 url 到 Google 文档图像
How to get the url to Google doc image
我有一个 Google Docs 文档,其中包含一张图片。我发现图像的 objectId
如此处所述 https://developers.google.com/docs/api/reference/rest/v1/InlineObject 但我不明白如何获得该图像的 url。
我尝试在云端硬盘中搜索此 objectId
,但 returns 找不到文件。
有什么想法吗?
更新
如@Tanaike 所述,图像信息包含在 result.inlineObjects
和
不直接在段落中。
- 您想使用 Google 文档 API.
检索 Google 文档中插入图像的 URL
如果我的理解是正确的,这个答案怎么样?
我认为您检查的 inlineObjectElement
的 属性 在段落中。在inlineObjects
的属性可以看到插入图片的信息。而URL可以在ImageProperties
的属性处看到。
终点如下
端点:
GET https://docs.googleapis.com/v1/documents/{documentId}?fields=inlineObjects
- 这里,作为示例,
inlineObjects
被用作fields
。您还可以将 *
用作 fields
.
结果:
URL可以按如下方式检索。它假设 response
是从上面的端点返回的值。
url = response.inlineObjects["kix.###"].inlineObjectProperties.embeddedObject.imageProperties.sourceUri
kix.###
在你的问题中是 inlineObjectId
。
- 如果图片是从外部URL插入的,则URL与插入图片时使用的URL相同
- 如果图像是从Google驱动器插入的,则URL如下所示。
https://lh3.google.com/u/0/d/{fileId}=w###-h###
- 在本例中,
{fileId}
是图像的文件ID。您可以使用此文件 ID 检索原始文件。
参考文献:
如果我误解了您的问题而这不是您想要的结果,我深表歉意。
步骤 #1:Right-click 并从 Google 文档中复制图像。
步骤 #2:粘贴到 dynalist.io.
(注意:Dynalist 不允许您粘贴图像,但您可以从 Google 文档粘贴图像,因为它只是添加了 link .)
我知道,如果您尝试对 API 执行某些操作,这可能无济于事,但是对于查找单个图像的 link,这是我找到的最简单的方法.
使用驱动器和文档api
- 使用 gdoc api 检索 ContentUri:
(Document.InlineObjects[imageid].InlineObjectProperties.EmbeddedObject.ImageProperties.ContentUri
)
imageid 的格式为 kix.###...
imageid可以从InlineObjects映射中获取,关键是imageid
获取 ContentUri 后,您必须去除结尾 =wxx-hyy
以获得驱动器的图像文件 ID api
使用驱动器api获取文件指针:
*fil, err = service.Files.Get(fileid).Do()
获取文件指针后,可以检索图像文件特征(见File)
或者图像文件可以是 downloaded via:
httpResp, err =service.Files.Export(fileid, mime).Download()
列出了 mime 类型 here
我有一个 Google Docs 文档,其中包含一张图片。我发现图像的 objectId
如此处所述 https://developers.google.com/docs/api/reference/rest/v1/InlineObject 但我不明白如何获得该图像的 url。
我尝试在云端硬盘中搜索此 objectId
,但 returns 找不到文件。
有什么想法吗?
更新
如@Tanaike 所述,图像信息包含在 result.inlineObjects
和
不直接在段落中。
- 您想使用 Google 文档 API. 检索 Google 文档中插入图像的 URL
如果我的理解是正确的,这个答案怎么样?
我认为您检查的 inlineObjectElement
的 属性 在段落中。在inlineObjects
的属性可以看到插入图片的信息。而URL可以在ImageProperties
的属性处看到。
终点如下
端点:
GET https://docs.googleapis.com/v1/documents/{documentId}?fields=inlineObjects
- 这里,作为示例,
inlineObjects
被用作fields
。您还可以将*
用作fields
.
结果:
URL可以按如下方式检索。它假设 response
是从上面的端点返回的值。
url = response.inlineObjects["kix.###"].inlineObjectProperties.embeddedObject.imageProperties.sourceUri
kix.###
在你的问题中是inlineObjectId
。- 如果图片是从外部URL插入的,则URL与插入图片时使用的URL相同
- 如果图像是从Google驱动器插入的,则URL如下所示。
https://lh3.google.com/u/0/d/{fileId}=w###-h###
- 在本例中,
{fileId}
是图像的文件ID。您可以使用此文件 ID 检索原始文件。
参考文献:
如果我误解了您的问题而这不是您想要的结果,我深表歉意。
步骤 #1:Right-click 并从 Google 文档中复制图像。
步骤 #2:粘贴到 dynalist.io.
(注意:Dynalist 不允许您粘贴图像,但您可以从 Google 文档粘贴图像,因为它只是添加了 link .)
我知道,如果您尝试对 API 执行某些操作,这可能无济于事,但是对于查找单个图像的 link,这是我找到的最简单的方法.
使用驱动器和文档api
- 使用 gdoc api 检索 ContentUri:
(Document.InlineObjects[imageid].InlineObjectProperties.EmbeddedObject.ImageProperties.ContentUri
)
imageid 的格式为 kix.###...
imageid可以从InlineObjects映射中获取,关键是imageid
获取 ContentUri 后,您必须去除结尾
=wxx-hyy
以获得驱动器的图像文件 ID api使用驱动器api获取文件指针:
*fil, err = service.Files.Get(fileid).Do()
获取文件指针后,可以检索图像文件特征(见File)
或者图像文件可以是 downloaded via:
httpResp, err =service.Files.Export(fileid, mime).Download()
列出了 mime 类型 here