API:按方向获取Flickr照片

API:按方向获取Flickr照片,api,flickr,Api,Flickr,我只想从Flickr中获取风景照片,但我看不到任何允许我这样做的参数。有人知道有没有办法吗?在该功能的响应中,您可以指定许多可选参数,称为。对于您指定的每个URL(格式为URL\s,URL\q…),您将获得以下信息 示例JSON响应 { ... "photos": { "page": 1, "pages": "478", "perpage": 2, "total": "4775", "pho

我只想从Flickr中获取风景照片,但我看不到任何允许我这样做的参数。有人知道有没有办法吗?

在该功能的响应中,您可以指定许多可选参数,称为。对于您指定的每个URL(格式为
URL\s,URL\q
…),您将获得以下信息

示例JSON响应

{
    ...
    "photos": { 
        "page": 1, 
        "pages": "478", 
        "perpage": 2, 
        "total": "4775", 
        "photo": [
            { 
                ...
                "longitude": 0, "accuracy": 0, "context": 0, "media": "photo",
                "media_status": "ready",
                "url_q": "https:\/\/farm4.staticflickr.com\/0000\/000_000_q.jpg",
                "height_q": "150",
                "width_q": "150",
                ...
            },
            { 
                ...
                "longitude": 0, "accuracy": 0, "context": 0, "media": "photo",
                "media_status": "ready",
                "url_q": "https:\/\/farm4.staticflickr.com\/0000\/000_111_q.jpg",
                "height_q": "150",
                "width_q": "150",
                ...
            },
        ] }, 
        "stat": "ok" 
};
如果您想要Q大小照片的URL,您将具有
height\u Q
width\u Q
属性。如果
width\u q
大于
height\u q
方向为横向。如果是相反方向,则照片的方向为肖像,否则它是一个完美的正方形

在Javascript中,您可以编写如下函数:

function determinePhotoOrientation(width, height) {
    if (width > height) {
        return 'landscape';
    } else if (width < height) {
        return 'portrait';
    }
    return 'square';
}
函数确定方向(宽度、高度){
如果(宽度>高度){
回归"山水",;
}否则,如果(宽度<高度){
返回“肖像”;
}
返回“正方形”;
}

如果您使用的是另一种语言,您可以使用该语言制作类似的函数来帮助您确定方向。

我还希望得到的结果只能是“纵向”或“横向”。我本来打算使用@Dodzi所描述的技术(虽然不是在q图上),但由于我的代码是如何构造的,我发现了flickr.photos.search端点的一个隐藏参数

对我来说,将这些参数传递到端点结果时,仅返回与方向匹配的照片:

Array
(
    [per_page] => 100
    [extras] => url_sq,url_t,url_s,url_q,url_m,url_n,url_z,url_c,url_l,url_k,url_h,url_o,path_alias,owner_name,license
    [tag_mode] => all
    [tags] => 
    [license] => 1,2,3,4,5
    [sort] => interestingness-desc
    [orientation] => portrait
)

对我来说,当使用“横向”作为方向时,这同样有效。

使用url_q(或url_s)将不起作用,因为它们将始终返回方形图像(即返回的宽度和高度将相同)。使用任何其他尺寸的替代品,例如:Bummer。“方向”参数现在不再适用于我:(