Где полноразмерное изображение в запросе GData.Photos? - PullRequest
0 голосов
/ 30 марта 2012

Я запрашиваю галерею 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 ]

4 голосов
/ 08 июля 2014

В документации можно указать размер изображений в ленте.При этом используется параметр «imgmax»:

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

Значение которого может быть установлено на «d» для запроса полноразмерных изображений

Это не поддерживается напрямуюв API C #, но вы можете достичь желаемого результата, используя поле «extraParameters» в объекте PhotoQuery.

Ваш код становится:

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 голос
/ 05 апреля 2012

краткий ответ:

media: group / media: content [@url] путь в запросе, чтобы получить ВХОД на фотографию gdata из сервиса Picasa GData, который содержит необходимую ссылку

Более длинный ответ:

  1. интерактивно запрашивает API Gdata для Picasa, используя игровую площадку oauth \
  2. https://code.google.com/oauthplayground и выберите Picasa из списка и получите
  3. кнопка авторизации ... затем разрешить доступ, и вы можете запросить API, используя форму
  4. сделать запрос на URI ENTRY нужной фотографии (ваш ... пользователь / .. / albumid .. / photoid)
  5. проверить содержимое media: group / media: content [@url] образец ниже
  6. URI для большой фотографии - это значение атрибута 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 выше ...

Используя тэг "fields =", вы можете напрямую получить ссылку, как показано ниже: req / resp из gdata ...

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"
}
]
}
}
}
...