Работа с Flickr из C# – механизм авторизации

Flickr

Кто не в курсе, Flickr – это очень популярный хостинг фото и видео. Википедия утверждает, что в нем более 2 биллионов изображений. Ко всему этому богатству можно получить доступ из вашего .net приложения.

Самая сложная часть – это авторизация.

  1. Сначала Вам нужно зарегистрироваться на сервере. (как не странно :) )
  2. Затем нужно получить ключи тут. Это две строчки – ApiKey и Secret, которые будут использоваться в вашем коде для получения доступа к сервису фликр (но не к вашему акаунту).
  3. Нужно скачать библиотечку Flickr.Net
  4. Подключив скачанную библиотеку (using FlickrNet;), Вы уже можете получить доступ к публичному контенту фликра, который доступен без авторизации.

     

    flickr = new Flickr(ApiKey, SharedSecret);

     

  5. Но чтоб получить доступ к аккаунту нужно проделать еще одну операцию – получить Token.

     

    tempFrob = flickr.AuthGetFrob();

    string flickrUrl = flickr.AuthCalcUrl(tempFrob, AuthLevel.Write);

    System.Diagnostics.Process.Start(flickrUrl);

    Этот код запустит браузер, в котором пользователь должен подтвердить, что дает доступ вашему софту.

  6. Только теперь можно получить полный доступ:

     

    Auth auth = flickr.AuthGetToken(tempFrob);

    flickr.AuthToken = auth.Token;

     

  7. Полученный токен можно сохранить и использовать для быстрой авторизации в дальнейшем:

     

    flickr = new Flickr(ApiKey, SharedSecret, Token);

     

  8. Теперь можно загрузить парочку фотографий:

     

    string photoId = flickr.UploadPicture(file, title, descripton, tags);

     

Из бонусов механизма подобной авторизации можно отметить возможность просмотра статистики использования ApiKey, то есть вашего софта, которую можно найти там же, где вы получали ключи.

Что касается самого сервиса – обнаружил, что есть серьезное ограничение на размер фото, что меня лично, как любителя лучшего качества, не устраивает.

Напоследок – моя страница на фликре