Pages

2010/08/12

ASP.NETからFlickrNETを使ってFlickr画像にアクセスする

もはや死語となりつつあるが、Web2.0の先駆けともいえるFlickr。APIからユーザー情報や写真を取り出すことができるのだが、ASP.NETからスマートにAPIを呼び出したいという時にはFlickrNetというライブラリが便利だ。

ネットを探してみるといくらでも使用方法がみつかるので、詳しい使用方法はそちらにお任せ。その他、自分で改めて構築した際の注意点を挙げておく。

[変更されたクラス]
バージョン3系統になって多少クラスが変更されたようだ。特にFlickrクラスのPhotosSearchメソッドの戻り値はPhotoCollectionとなっている。旧コードでは動かない可能性が高いので注意が必要だ。


[レンタルサーバにアプリを配置する場合]
Flickrとアクセスし、データを受信した際に一度キャッシュを作る。なにも指定しないとこれはCドライブのテンプレート領域等に書き込みにいくのだが、レンタルサーバだとアクセス権がないためにランタイムエラーが起きて落ちる。
ローカルで問題なくてもアップしたとたんにエラーを出してしまう場合はこれを疑ってみる。
解決方法は、キャッシュ設定を変更すること。これはweb.configに記述する。

まず、以下を記載。
<section name="flickrNet" type="FlickrNet.FlickrConfigurationManager,FlickrNet">

configSections直後に、キャッシュ場所の変更を追加。
<flickrnet cacheDisabled="true" cacheLocation="D:\FlickrCache\"></flickrnet>

スタックトレース等で追いかけるとIOエラーが発生していたことから気づいたのだが、
解決までしばらく悩んだ。
Related Posts Plugin for WordPress, Blogger...