如何获取 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

  1. 使用 gdoc api 检索 ContentUri:

(Document.InlineObjects[imageid].InlineObjectProperties.EmbeddedObject.ImageProperties.ContentUri)

imageid 的格式为 kix.###...

imageid可以从InlineObjects映射中获取,关键是imageid

  1. 获取 ContentUri 后,您必须去除结尾 =wxx-hyy 以获得驱动器的图像文件 ID api

  2. 使用驱动器api获取文件指针:

    *fil, err = service.Files.Get(fileid).Do()

  3. 获取文件指针后,可以检索图像文件特征(见File

  4. 或者图像文件可以是 downloaded via:

    httpResp, err =service.Files.Export(fileid, mime).Download()

  5. 列出了 mime 类型 here