Flickr API返回不可用的图像Windows Phone

时间:2014-04-17 02:29:58

标签: windows-phone-8 flickr

您好我是Windows Phone和flickr API的新手。

我一直试图获取一些图像并使用以下代码在全景视图中显示它们:

var baseUrl = string.Format(flickString, flickrAPIKey);
string flickrResult = await client.GetStringAsync(baseUrl);

FlickrData flickrApiData = JsonConvert.DeserializeObject<FlickrData>(flickrResult);

if(flickrApiData.stat == "ok")
{
    foreach (Photo data in flickrApiData.photos.photo)
    {
        // To retrieve one photo
        // http://farm{farmid}.staticflickr.com/{server-id}/{id}_{secret}{size}.jpeg

        //string photoUrl = "http://farm{0}.staticflickr.com/{1}/{2}_{3}_o.jpeg";
        //string photoUrl = "http://farm{0}.staticflickr.com/{1}/{2}_{3}_b.jpeg";
        string photoUrl = "http://farm{0}.staticflickr.com/{0}/{0}_{0}_n.jpeg";

        string baseFlickrUrl = string.Format(photoUrl,
            data.farm,
            data.server,
            data.id,
            data.secret);

        flickr1Image.Source = new BitmapImage(new Uri(baseFlickrUrl));

        break;
    }
}

我尝试过尝试不同的农场&amp;服务器等,但每次它仍然返回“此图像此时不可用”。我不知道我在这里做错了什么,感谢一些帮助。

由于

1 个答案:

答案 0 :(得分:1)

运行链接后,事实证明图片扩展名应使用jpg而不是jpeg

但我强烈建议您使用额外字段直接使用API​​中的额外属性获取相应的网址

  

extras(可选)

     

以逗号分隔的额外信息列表,用于获取每条返回的记录。

     

您可以使用以下任意一种:url_sq,url_t,url_s,url_q,url_m,url_n,url_z,url_c,url_l,url_o