我正在開發一個應用程序,它使用Facebook登錄。登錄後,用戶必須設置其他信息和個人資料圖片,圖片也是從登錄Facebook帳戶中提供的。現在整個帳戶的詳細信息,包括該個人資料圖片的網址,都保存在我的數據庫中。Facebook應用程序登錄:如何控制我得到的圖像URL的到期日期?
令我驚訝的是,個人資料圖片突然停止了工作。打開它在瀏覽器的網址給了我這個消息「URL簽名過期」
下載這些照片,並將它們保存到自己的服務器是不是真的我的選擇。有什麼我可以做的,使該網址持久?
我正在開發一個應用程序,它使用Facebook登錄。登錄後,用戶必須設置其他信息和個人資料圖片,圖片也是從登錄Facebook帳戶中提供的。現在整個帳戶的詳細信息,包括該個人資料圖片的網址,都保存在我的數據庫中。Facebook應用程序登錄:如何控制我得到的圖像URL的到期日期?
令我驚訝的是,個人資料圖片突然停止了工作。打開它在瀏覽器的網址給了我這個消息「URL簽名過期」
下載這些照片,並將它們保存到自己的服務器是不是真的我的選擇。有什麼我可以做的,使該網址持久?
是的,Facebook的CDN網址可能會過期 - 您不應該將它們存儲以供長期使用。
但是你可以要求任何用戶的資料圖片(只要你有他們的全球/應用範圍的用戶ID),通過簡單地參照
https://graph.facebook.com/4/picture // Mark Zuckerberg’s profile pic
- 即URL發出重定向到當前CDN網址爲圖像。
雖然圖像比較小,但是50px x 50px - 您可以使用https://graph.facebook.com/4/picture?type=large
來請求更大的版本。這將爲您提供200像素x 200像素的配置文件圖像(如果用戶沒有上傳方形圖像,則會提供該配置文件圖像。)
請注意,某些圖片需要檢索訪問令牌。例如https://graph.facebook.com/72256131540/picture
返回一個問號的通用圖像,除非你添加一個訪問令牌是這樣的:
https://graph.facebook.com/72256131540/picture?access_token=<ACCESS_TOKEN>
不幸的是我並不想獲得用戶的當前配置文件中的圖片,但它也可以是其他任何一個。不管怎麼說,還是要謝謝你。 –
然後下載並將它們存儲在您自己的服務器上,或通過瀏覽用戶的個人資料圖片專輯獲取新的CDN網址(當然,需要獲得許可)。 – CBroe
CBroe,您是否有想法其他提供者有類似之處。我問小學的谷歌,Instagram和VKontakte – user732456