3

关于这些新 API 的一个非常简单的问题:我已经创建了一个获取专辑图像的系统,但是baseUrl会在一段时间后过期。

是否有系统可以获取未过期的 URL?直到今天,我还在使用 Picasa API(现已关闭),给了我一个永久 URL。

我需要直接访问图片。

4

2 回答 2

3

没有办法绕过baseUrl.

您需要保存它,mediaItem.id因为它是用于识别对象的永久、稳定的 ID。

然后,您可以GET https://photoslibrary.googleapis.com/v1/mediaItems/{mediaItemId}在需要 baseUrl 时获取。

您还可以保存 baseUrl 并在出现 403 错误时使用mediaItem.id

我的理解是呼吁:

GET https://photoslibrary.googleapis.com/v1/mediaItems/{mediaItemId}

GET https://photoslibrary.googleapis.com/v1/mediaItems:batchGet

不计入每日配额。

于 2019-02-14T12:11:00.273 回答
0

我的背景是 Nodejs,但我想我仍然会分享我的发现,因为它会给你一个关于如何解决你的问题的想法。

无法获取 Google 相册的永久网址,因为它们会在 60 分钟后过期。

如果您计划使用 OAuth 2.0,它在每次显示图像之前都要求提供用户凭据,请参阅此代码示例(在 Nodejs 中): https ://github.com/googlesamples/google-photos

或者,还有一种更简单的共享图像的方法 - 将图像存储在 Google Drive 而不是 Google Photos 上,然后在 Google Developer Console 上创建一个“服务帐户”以将驱动器链接到该帐户。此方法提供图像的永久链接。

请参阅有关此实现的这篇非常有用的文章: https ://medium.com/@abhimanyuPathania/google-drive-service-accounts-and-nodejs-a038b8ec482f

希望这可以帮助。

于 2019-01-29T06:49:27.437 回答