谷歌幻灯片API - 检查谷歌幻灯片网址是否为私人或无效



我有一个应用程序,用户可以输入Google幻灯片的链接,如果成功,它将在另一个组件上查看/呈现Google幻灯片。但我也想通知用户他们输入的链接是公开的、私有的还是无效的。所以基本上当它是公共链接时,它会成功显示 Google 幻灯片,但问题是我怎么知道链接是私有链接还是无效链接

专用链接- Google 幻灯片存在,但不可共享。

无效链接- 没有现有的谷歌幻灯片或错误的网址。

我尝试使用此API GET https://slides.googleapis.com/v1/presentations/{presentationId},因为我已经有了presentationId,但我只得到了2个响应,200成功返回此对象,400返回此对象(无论演示文稿ID来自私人Google幻灯片ID还是虚构ID(:

{
"error": {
"code": 400,
"message": "This operation is not supported for this document",
"status": "FAILED_PRECONDITION"
}
}

有没有其他方法可以区分链接?

答案:

您无法仅从链接中判断 ID 是否无效。您必须实际发出请求,并根据 HTTP 状态代码处理应用的响应方式。

更多信息:

来自有关演示文稿 ID 的 Google 表格 API 文档:

演示文稿 ID 是包含字母、数字和一些特殊字符的字符串。以下正则表达式可用于从 Google 表格 [原文如此] 网址中提取演示文稿 ID:

/presentation/d/([a-zA-Z0-9-_]+)

这个字符串就是这样 - 只是一个字符串。没有文档解释这些是如何生成的,因此如果不进行调用,就无法发现任何给定的 ID 是否有效。

处理:

根据经验,Google 幻灯片/文档/表格 ID 的长度为 44 个字符,如上面链接的文档中所述,将与特定的正则表达式匹配。有了这个,您可以对ID的有效性进行一些检查,但除此之外,必须进行呼叫以确保。

一些伪代码让你开始:

url = https://docs.google.com/presentation/d/some-presentation-id/edit
slideId = url.extract("/presentation/d/([a-zA-Z0-9-_]+)")
if slideId == null OR slideId.length != 44:
return "Presentation URL not valid"
else:
request = makeHTTPRequest(url)
if request.responseCode = 200:
// display slide
else if request.responseCode = 400: 
return "can't access this url, invalid or private"

引用:

  • 简介 |幻灯片接口 |谷歌开发者

相关问题:

  • 谷歌云端硬盘 API - 更改:列表。获取已删除文件的原始 ID

最新更新