Google 照片 API 导入我所有的照片

Google Photos API import all my photos

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

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

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

求求你帮我想办法O.o可以是Javascript,也可以是curl,我翻译一下。

提前致谢!

更新

我发现 https://github.com/howdy39/google-picker-api-demo 可以让我将所有照片放入一个相册。有点意思,但我希望 Google 能尽快发布更好的 Google 照片 API。 :)

参考已接受的答案。

目前没有像 Picasa Web Albums Data API 这样与 Google 照片互动的 other/similar/better API(来自 Google)。

除了您已经提到的 替代方案 之外,不幸的是,我不认为 API 具有这样的功能(即使是远程的) ) 与您要查找的内容相似。

综上所述,在 Stack Overflow 中,询问软件库或教程等的问题被视为题外话

PS: 表达了很多开发者对官方 API 的要求( 希望 Google) 在很多网站上出现了很长一段时间(比如 this one)。相信我。 (叹息)我理解这种挫败感。

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

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

During the developer preview, the quota for requests to the Google Photos Library API is 2,500 requests per project per day. Requests to access media bytes (like loading a photo or video) aren't counted against the limit.

使用带有空搜索字符串的 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  
}