13

我或多或少地阅读了有关 Google Photos 的每个 StackOverflow 问题,但我仍然没有找到答案。

对于我的 Rails 应用程序,我需要获取上传到 Google 照片的每张照片的网址。

我无法将 Picasa 用于长期项目,G Drive API 无法找到所有照片,G+ 无法找到所有照片

请帮我找到一个解决方案 Oo 它可以是基于 Javascript 的,也可以是基于 curl 的,我会翻译它。

提前致谢!

更新

我找到了https://github.com/howdy39/google-picker-api-demo,它可以让我将所有照片都放在相册中。有点意思,但我希望 Google 能尽快发布更好的 Google Photos API。:)

4

3 回答 3

7

请参阅已接受的答案。

目前没有其他/类似/更好的 API(由 Google 提供)可以像Picasa 网络相册数据 API那样与 Google 照片交互。

不幸的是,除了您已经提到的替代方案之外,我认为那里没有与您正在寻找的功能(甚至是远程)相似的 API。

尽管如此,在 Stack Overflow 中,要求软件库或教程之类的问题都被认为是题外话。

PS:很多开发者对官方 API 的请求在很多网站上表达了(希望谷歌能听到)很长一段时间(比如这个)。相信我。(叹气)我理解这种挫败感。

于 2017-05-17T06:20:27.037 回答
7

2018 年 5 月 8 日: 好消息!Google 刚刚在 Googel I/O 上推出了Google Photo API

您可以获得所有媒体的列表,包括专辑。此外,API 允许您上传和共享媒体。目前它处于开发者预览状态并且有配额限制:

在开发者预览期间,对 Google Photos Library API 的请求配额为每个项目每天 2,500 个请求。访问媒体字节的请求(例如加载照片或视频)不计入限制。

于 2018-05-09T07:46:44.027 回答
1

使用带有空搜索字符串的Search调用 ( https://developers.google.com/photos/library/reference/rest/v1/mediaItems/search ) 检索所有媒体项。

我最近构建了一个工具来备份我的所有照片(https://github.com/dtylman/gitmoo-goog),以下是golang列出整个库的示例:

import "google.golang.org/api/photoslibrary/v1"`

func ListAll(svc *photoslibrary.Service) error {
    hasMore := true
    req := &photoslibrary.SearchMediaItemsRequest{PageSize: 50}
    for hasMore {
        items, err := svc.MediaItems.Search(req).Do()
        if err != nil {
            return err
        }
        for _, m := range items.MediaItems {
            fmt.Println(m)
        }
        req.PageToken = items.NextPageToken
        if req.PageToken == "" {
            hasMore = false
        }
    }
    return nil  
}
于 2018-09-12T06:56:55.970 回答