【问题标题】:Query Picasa Web Albums for specific PhotoIDs to check for existence查询 Picasa 网络相册中的特定 PhotoID 以检查是否存在
【发布时间】:2013-01-25 15:38:22
【问题描述】:

我有一个 PhotoID 列表以及显然需要的用户 ID,因为 PhotoID 不是全球唯一的,我正在尝试获取照片列表以测试这些照片是否仍然可以访问。

到目前为止,我发现的最接近的是https://groups.google.com/forum/?fromgroups=#!searchin/google-picasa-data-api/photos$20by$20id/google-picasa-data-api/OzLyJOVpd4M/7xiSPB4Tg9YJ,其中提到了以下查询应该让我到达那里:

http://picasaweb.google.com/data/feed/api/user/default/?kind=photo&v=2&fields=entry[gphoto:id=1234 or gphoto:id=4567]&prettyprint=true

但是这似乎不起作用,即使与我知道存在的照片一起使用,我也会得到:

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:app='http://www.w3.org/2007/app' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gd='http://schemas.google.com/g/2005'/>

或者,如果我指定了一个有效的 access_token,我会得到以下信息,尽管该令牌对于未列出的照片的更多基本查询工作正常。

Token invalid - AuthSub token has wrong scope

更新

我已经设法使用以下方法查询单个 gphoto:id 工作:

https://picasaweb.google.com/data/feed/api/user/default?kind=photo&v=2.0&fields=entry[gphoto:id=5833637579580309538]

但是,一旦我尝试使用 ||(如下所示),我就会收到如下错误:

Invalid selector expression at position 35: no viable alternative at character '|'  

如果我使用 Google API 文档中提到的“或”,它只会忽略除第一个 gphoto:id 之外的所有内容,只返回 1 行。

更新 2

实际上它看起来像以下确实有效,但并非适用于所有照片:

https://picasaweb.google.com/data/feed/api/user/default?kind=photo&v=2.0&fields=entry[gphoto:id=5827988830283069682%20or%20gphoto:id=5812362364496750642](gphoto:id)&prettyprint=true

是否有某种权限可以防止某些照片被直接查询?

【问题讨论】:

    标签: google-api picasa


    【解决方案1】:

    你需要使用'||'而不是请求中的“或”。通过这个请求,我可以在相册中选择多张照片。

    https://picasaweb.google.com/data/feed/api/user/default/albumid/{albumid}?kind=photo&[gphoto.id={photo1 id}||gphoto.id={photo2 id}]
    

    【讨论】:

    • 抱歉,这只是给了我相册中所有照片的列表。我将更新问题以包含我的最新发现,我已经设法让查询单个 ID 正常工作。
    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 2015-02-05
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多