LoginSignup
0
0

More than 5 years have passed since last update.

【C#】Flickr.Netでtag検索をする【API】

Last updated at Posted at 2017-07-13

今回のゴール

Flickrでタグ検索をして画像URLを取得すること。

準備するもの

  • FlickrNet API Library
  • API key

visualstudioを利用している方はNuGetから FlickrNet API Libraryを入れるのが楽かもしれません。

APIkeyの取得方法はこちらを参考にしてください。
flickr APIの使い方まとめ

今回は検索が目的ですので、tokenを使ってoAuthで認証する必要はありません。

コードを書く

imgAPI.cs
namespace FlickrAPI
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using FlickrNet;

    /// <summary>
    /// イメージAPIを扱うクラス
    /// </summary>
    public class ImgAPI
    {
        private Flickr flickr;
        private string flickrApiKey = "取得してきたAIPkey";
        private PhotoCollection photos;

        /// <summary>
        /// Initializes a new instance of the <see cref="ImgAPI"/> class.
        /// </summary>
        public ImgAPI()
        {
            this.flickr = new Flickr(this.flickrApiKey);
            this.photos = new PhotoCollection();
        }

        /// <summary>
        /// 写真のURLを取得するメソッド
        /// タグの中からランダムに取得してくる
        /// </summary>
        /// <returns>ingUrl 画像URL</returns>
        public void GetImg()
        {
            Random random = new Random();
            PhotoSearchOptions opt = new PhotoSearchOptions();
            opt.Tags = "Mountain";
            opt.TagMode = TagMode.AllTags;
            this.photos = this.flickr.PhotosSearch(opt);
            var imgNumber = random.Next(this.photos.Count);
            var imgUrl = this.photos[imgNumber].LargeSquareThumbnailUrl;
            counsole.WriteLine(imgUrl);
        }
    }
}


各種説明

using FlickrNet;

これがないと始まりません

Flickr

Flickrというクラスが全ての根になっています。

PhotoCollection

このクラスで返ってきた結果から今回はURLを取り出して、表示します。

PhotoSearchOptions

今回はタグ検索だけですのでシンプルですが、他にもいろいろパラメータがあります。

タグ検索した結果の中から乱数を利用してランダムに取得してきています。
今回は直接Tagsプロパティにタグを入力していますが、相手の入力を受け取るようにしてみても面白いですね。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0