哪里是在GData.Photos查询全尺寸的形象呢?

我查询一个Picasa图片库,当我深入到返回的条目,我找不到完整大小的图片。 我只能看到一个更小的,再大图( data[0].Content.AbsoluteUri )。 我知道,谷歌保留了全尺寸的图像,因为我可以看到它时,我在网上查看我的Picasa图片库。 哪里是全尺寸的形象呢?

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

--------------解决方案-------------

答案很简单:

媒体:组/媒体:在查询获得通过Picasa的GData服务GDATA照片条目内容[@url]路径中包含你想要的链接。

更长的答案:

  1. 使用OAuth操场\交互查询服务的GData API Picasa的
  2. https://code.google.com/oauthplayground并从列表中选择Picasa和获得
  3. 授权按钮...然后允许访问按钮,你可以使用表单查询API
  4. 作出所需的照片入境URI查询(您的用户... / .. / .. ALBUMID / PHOTOID)
  5. 检查的媒体内容:组/媒体:内容[@url]下面的示例
  6. 的URI的大照片中的valueOf上述表达式url属性
  7. 对于我的Picasa照片一个样本值
  8. URL = HTTPS://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG

使用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属性...

使用“域=”标签,就可以直接获得链接从下面GDATA请求/ 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"
}
]
}
}
}

文档中隐藏,可以指定在饲料中的图像的大小。 这是使用“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;

分类:C# 时间:2015-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.330 (s). 10 q(s)