使用 Google Docs API 从 Google 驱动器插入图像

Using Google Docs API to Insert Image From Google Drive

我想知道是否可以获取某个人 Google 驱动器上图像的 URI。

我尝试过的:

驱动器 API:GET https://www.googleapis.com/drive/v2/files/{fileId}

(使用Google文档batchUpdate ReplaceImageRequest替换图片)

uri = file["selfLink"] => "Invalid requests[0].replaceImage: Access to the provided image was forbidden."

uri = file["webContentLink"] => "Invalid requests[0].replaceImage: There was a problem retrieving the image. The provided image should be publicly accessible, within size limit, and in supported formats."

uri = file["alternateLink"] =>(见上文)

uri = file["embedLink"] =>(参见 file["webContentLink"]

我正在尝试这些属性——希望文档 API 能够自动解释驱动器链接。但这可能只是一厢情愿的想法。当然,没有用。

我相信你的目标如下。

  • 您想使用 Google 文档 API 中 documents.batchUpdate 的方法替换图像 API。
  • 您想要为此使用 Google 驱动器上的图像文件。

问题与解决方案:

当使用文档API将图像放入Google文档时,图像的URL似乎是外部URL。所以在你的情况下,你可以使用 webContentLink 的 URL。但该文件需要以查看者的身份与“拥有 link 的任何人”公开共享。我认为你的问题的原因是这样的。所以请按照以下流程进行。

  1. 请以查看者的身份与“拥有 link 的任何人”公开共享图像文件。
  2. 请使用共享图像的 webContentLink 的 URL 请求批量更新。

注:

  • 此答案假设您已经能够使用 Docs API 获取和放置 Google 文档的值。所以请注意这一点。
  • 很遗憾,我无法理解您的实际请求正文。当你像上面这样修改时,当另一个错误发生时,你能提供你的请求主体的详细信息吗?借此,我想确认一下。

参考文献: