Flickr 返回的农场价值无效 API
Invalid farm value returned by Flickr API
我有这个应用程序可以在 flickr 上搜索标签和 returns 结果。
结果显示在无限集合视图中。
一次返回 100 个结果。
我开始滚动并到达滚动视图的底部。从 Flickr 请求了另外 100 个元素,一切正常。
如果我继续向下滚动一段时间,进入第5页(元素400-499)后,我开始出现这个错误:
NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <D87E6C4C-B8CB-46D1-B891-3E7CDF35ABDF>.<1>"
), NSLocalizedDescription=A server with the specified hostname could not be found., NSErrorFailingURLStringKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg, NSErrorFailingURLKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg, _kCFStreamErrorDomainKey=12}
看看url。
https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg
如果您将 farm0
更改为 farm1
,则会加载图像。
我正在创建图像下载 url 是这样的:
func makeDownloadURL() -> URL{
let path = "https://farm\(farm).static.flickr.com/\(server)/\(id)_\(secret).jpg"
return URL(string: path)!
}
奇怪的是,如果我继续滚动过去丢失的图像,在某个时候,有效图像开始填充集合视图。然后,又是问题,又是有效图片,如此等等。
我正在使用它来构建搜索 URL
func makeSearchURLComponents(searchString:String) -> URLComponents? {
var components = URLComponents()
components.scheme = "https"
components.host = "api.flickr.com"
components.path = "/services/rest"
let queryMethod = URLQueryItem(name: "method", value: "flickr.photos.search")
let queryAPI = URLQueryItem(name: "api_key", value: flickrAPI)
let queryFormat = URLQueryItem(name: "format", value: retrieveFormat)
let querySafeSearch = URLQueryItem(name: "safe_search", value: SafeSearch.Safe.rawValue)
let querySearchString = URLQueryItem(name: "tags", value: searchString)
let queryPageNumber = URLQueryItem(name: "page", value: String(pageNumber))
let querycallBack = URLQueryItem(name: "nojsoncallback", value: "1")
components.queryItems = [queryMethod, queryAPI, queryFormat, querySafeSearch, querySearchString, queryPageNumber, querycallBack]
return components
}
为什么会这样。
这似乎是一个 flickr 问题。
解决方法是当农场为零时将其更正为1。
let correctedFarm = farm == 0 ? 1 : farm
绕过他们的错误是一种 hack。
我有这个应用程序可以在 flickr 上搜索标签和 returns 结果。
结果显示在无限集合视图中。
一次返回 100 个结果。
我开始滚动并到达滚动视图的底部。从 Flickr 请求了另外 100 个元素,一切正常。
如果我继续向下滚动一段时间,进入第5页(元素400-499)后,我开始出现这个错误:
NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <D87E6C4C-B8CB-46D1-B891-3E7CDF35ABDF>.<1>"
), NSLocalizedDescription=A server with the specified hostname could not be found., NSErrorFailingURLStringKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg, NSErrorFailingURLKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg, _kCFStreamErrorDomainKey=12}
看看url。
https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg
如果您将 farm0
更改为 farm1
,则会加载图像。
我正在创建图像下载 url 是这样的:
func makeDownloadURL() -> URL{
let path = "https://farm\(farm).static.flickr.com/\(server)/\(id)_\(secret).jpg"
return URL(string: path)!
}
奇怪的是,如果我继续滚动过去丢失的图像,在某个时候,有效图像开始填充集合视图。然后,又是问题,又是有效图片,如此等等。
我正在使用它来构建搜索 URL
func makeSearchURLComponents(searchString:String) -> URLComponents? {
var components = URLComponents()
components.scheme = "https"
components.host = "api.flickr.com"
components.path = "/services/rest"
let queryMethod = URLQueryItem(name: "method", value: "flickr.photos.search")
let queryAPI = URLQueryItem(name: "api_key", value: flickrAPI)
let queryFormat = URLQueryItem(name: "format", value: retrieveFormat)
let querySafeSearch = URLQueryItem(name: "safe_search", value: SafeSearch.Safe.rawValue)
let querySearchString = URLQueryItem(name: "tags", value: searchString)
let queryPageNumber = URLQueryItem(name: "page", value: String(pageNumber))
let querycallBack = URLQueryItem(name: "nojsoncallback", value: "1")
components.queryItems = [queryMethod, queryAPI, queryFormat, querySafeSearch, querySearchString, queryPageNumber, querycallBack]
return components
}
为什么会这样。
这似乎是一个 flickr 问题。
解决方法是当农场为零时将其更正为1。
let correctedFarm = farm == 0 ? 1 : farm
绕过他们的错误是一种 hack。