星期五, 5月 22, 2020

[Flickr] 圖片網址無法讀取410錯誤

今天發現Flickr的圖片連結在Blog的圖片顯示異常,


最後查了一下原來是先前相本的權限有變更私人瀏覽
如下圖所示


導致先前的圖片網址最後一段的secret碼會變動
(先前有試過剛發佈文章在關相本權限是可以正常瀏覽的),
所以就要透過flickr flickr.photos.getInfo的API來查詢相片的相關資訊,

在回傳json裡面有secret,把它取代回去失效的網址即可回覆正常。
所以還是不要亂動相本的權限,每次變動secret碼會變動的。

有興趣的可以看以下flickr的技術文件。差不多十年以上沒變更了。
不知什麼時候會倒~誤

相片來源 URL

知道相片的 ID、伺服器 ID、農場 ID 和密鑰(如許多 API 方法返回的那樣)後,你便可構建連結至相片的來源 URL。
URL 會採用以下格式:
https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg
 or
https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg
 or
https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{o-secret}_o.(jpg|gif|png)
* 2011 年 11 月 18 日前,API 傳回的圖片 URL 帶有以下主機名稱: 「farm{farm-id}.static.flickr.com」。 目前仍支援這些 URL。

後綴分類

字母後綴如下:
s小正方形 75x75
qlarge square 150x150
t縮圖,最長邊為 100
m小,最長邊為 240
nsmall, 320 on longest side
-中等,最長邊為 500
z中等尺寸 640,最長邊為 640
c中等尺寸 800,最長邊為 800†
b大尺寸,最長邊為 1024*
h大型 1600,長邊 1600†
k大型 2048,長邊 2048†
o原始圖片, 根據來源格式可以是 jpg、gif 或 png
*2010 年 5 月 25 日之前,大相片僅適用於特別大的原始圖片。
† 中型 800、大型 1600 和大型 2048 相片僅存在於 2012 年 3 月 1 日之後。
注意︰原始相片會有些許不同。他們有自己的密鑰(在回覆中稱為 originalsecret)和變數副檔名(在回覆中稱為 originalformat)。僅當呼叫程式具有檢視原始尺寸的權限(取決於使用者偏好和其他各種標準)時,透過 API 傳回這些值。這些值由 flickr.photos.getInfo 方法和諸如 flickr.photos.search 等可傳回相片清單並允許 extras 參數(具有值 original_format)的所有方法來傳回。flickr.photos.getSizes 方法總是會傳回允許權限的完整的原始 URL。

範例

https://farm1.staticflickr.com/2/1418878_1e92283336_m.jpg

farm-id: 1
server-id: 2
photo-id: 1418878
secret: 1e92283336
size: m

沒有留言:

張貼留言

留個話吧:)