API:按方向获取 Flickr 照片

use*_*985 4 api flickr

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

Dod*_*uma 5

在该功能的响应中flickr.photos.search,您可以指定许多可选参数,称为extras。对于您指定的每个 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" 
};
Run Code Online (Sandbox Code Playgroud)

如果您想要 Q 尺寸照片的 URL,您将拥有height_qwidth_q属性。如果width_q大于则height_q方向为横向。如果相反,则照片的方向是纵向,否则它是完美的正方形。

在 Javascript 中你可以编写这样的函数:

function determinePhotoOrientation(width, height) {
    if (width > height) {
        return 'landscape';
    } else if (width < height) {
        return 'portrait';
    }
    return 'square';
}
Run Code Online (Sandbox Code Playgroud)

如果您使用不同的语言,您可以使用该语言创建类似的函数来帮助您确定方向。

  • 使用 url_q (或 url_s)将不起作用,因为它们将始终返回方形图像(即返回的宽度和高度将相同)。请使用任何其他大小,例如 _t。 (2认同)