GData.Photos查询中的全尺寸图像在哪里?

时间:2012-03-30 01:21:12

标签: c# asp.net gdata gdata-api picasa

我正在查询Picasa图库,当我深入查看返回的条目时,我找不到完整尺寸的图片。我只能看到一个更小,重新调整大小的图像(data[0].Content.AbsoluteUri)。我知道Google保留了完整尺寸的图片,因为当我在线查看我的Picasa图库时,我可以看到它。全尺寸图片在哪里?

var picasaService = new PicasaService("Gallery");

var photoQuery = new PhotoQuery(PicasaQuery.CreatePicasaUri("GOOGLEUSERNAME", "GALLERYID"));
var photoFeed = picasaService.Query(photoQuery);

var data = photoFeed.Entries;

2 个答案:

答案 0 :(得分:4)

隐藏在文档中,可以指定Feed中图像的大小。这是使用“imgmax”参数:

https://developers.google.com/picasa-web/docs/2.0/reference#Parameters

可以将值设置为“d”以请求全尺寸图像

c#API不直接支持,但您可以使用PhotoQuery对象上的“extraParameters”字段获得所需的结果。

然后您的代码变为:

var picasaService = new PicasaService("Gallery");

var photoQuery = new PhotoQuery(PicasaQuery.CreatePicasaUri("GOOGLEUSERNAME", "GALLERYID"));
// add the extra parameter to request full size images
photoQuery.ExtraParameters = "imgmax=d";

var photoFeed = picasaService.Query(photoQuery);

var data = photoFeed.Entries;

答案 1 :(得分:1)

简短回答:

媒体:群组/媒体:内容[@ url] 获取gdata照片的路径来自picasa GData服务的ENTRY包含您想要的链接。

更长的回答:

  1. 使用oauth playground \
  2. 以交互方式查询用于picasa的Gdata api
  3. https://code.google.com/oauthplayground并从列表中选择picasa并获取
  4. 授权按钮...然后允许访问按钮,您可以使用表单
  5. 查询api
  6. 查询所需照片的ENTRY URI(您的... user / .. / albumid .. / photoid)
  7. 检查媒体内容:组/媒体:内容[@url]示例
  8. 大照片的URI是valueOf上面表达式中的url属性
  9. 我的某张picasa照片的示例值
  10. URL = HTTPS://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG
  11. 使用oauth 2.0游乐场查询我的一张照片...

    Request:
    GET /data/entry/api/user/rowntreerob/albumid/5682316071017984417/photoid/5682316083381958690?alt=json
    

    注意:使用http://json.parser.online.fr/

    过滤回复
    Response: 
    
    "media$group":{
    "media$content":[
    {
    "url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG",
    "height":512,
    "width":341,
    "type":"image/jpeg",
    "medium":"image"
    }
    

    您想要的大型照片的链接位于上方的url属性中...

    使用“fields =”标记,您可以直接从gdata获取链接,如下面的req / resp ...

    GET /data/entry/api/user/rowntreerob/albumid/5682316071017984417/photoid/5682316083381958690?alt=json&fields=media%3Agroup%2Fmedia%3Acontent%5B%40url%5D
    
    {
    "version":"1.0",
    "encoding":"UTF-8",
    "entry":{
    "xmlns":"http://www.w3.org/2005/Atom",
    "xmlns$media":"http://search.yahoo.com/mrss/",
    "media$group":{
    "media$content":[
    {
    "url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG",
    "height":512,
    "width":341,
    "type":"image/jpeg",
    "medium":"image"
    }
    ]
    }
    }
    }