Кто не в курсе, Flickr – это очень популярный хостинг фото и видео. Википедия утверждает, что в нем более 2 биллионов изображений. Ко всему этому богатству можно получить доступ из вашего .net приложения.
Самая сложная часть – это авторизация.
- Сначала Вам нужно зарегистрироваться на сервере. (как не странно 🙂 )
- Затем нужно получить ключи тут. Это две строчки – ApiKey и Secret, которые будут использоваться в вашем коде для получения доступа к сервису фликр (но не к вашему акаунту).
- Нужно скачать библиотечку Flickr.Net
- Подключив скачанную библиотеку (using FlickrNet;), Вы уже можете получить доступ к публичному контенту фликра, который доступен без авторизации.
flickr = new Flickr(ApiKey, SharedSecret);
- Но чтоб получить доступ к аккаунту нужно проделать еще одну операцию – получить Token.
tempFrob = flickr.AuthGetFrob();
string flickrUrl = flickr.AuthCalcUrl(tempFrob, AuthLevel.Write);
System.Diagnostics.Process.Start(flickrUrl);
Этот код запустит браузер, в котором пользователь должен подтвердить, что дает доступ вашему софту.
- Только теперь можно получить полный доступ:
Auth auth = flickr.AuthGetToken(tempFrob);
flickr.AuthToken = auth.Token;
- Полученный токен можно сохранить и использовать для быстрой авторизации в дальнейшем:
flickr = new Flickr(ApiKey, SharedSecret, Token);
- Теперь можно загрузить парочку фотографий:
string photoId = flickr.UploadPicture(file, title, descripton, tags);
Из бонусов механизма подобной авторизации можно отметить возможность просмотра статистики использования ApiKey, то есть вашего софта, которую можно найти там же, где вы получали ключи.
Что касается самого сервиса – обнаружил, что есть серьезное ограничение на размер фото, что меня лично, как любителя лучшего качества, не устраивает.
Напоследок – моя страница на фликре