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