FlickrNet.Flickr.PhotosSearch C# (CSharp) Méthode

PhotosSearch() public méthode

Search for a set of photos, based on the value of the PhotoSearchOptions parameters.
public PhotosSearch ( PhotoSearchOptions options ) : Photos
options PhotoSearchOptions The parameters to search for.
Résultat Photos
        public Photos PhotosSearch(PhotoSearchOptions options)
        {
            Hashtable parameters = new Hashtable();
            parameters.Add("method", "flickr.photos.search");
            if( options.UserId != null && options.UserId.Length > 0 ) parameters.Add("user_id", options.UserId);
            if( options.Text != null && options.Text.Length > 0 ) parameters.Add("text", options.Text);
            if( options.Tags != null && options.Tags.Length > 0 ) parameters.Add("tags", options.Tags);
            if( options.TagMode != TagMode.None ) parameters.Add("tag_mode", options.TagModeString);
            if( options.MachineTags != null && options.MachineTags.Length > 0 ) parameters.Add("machine_tags", options.MachineTags);
            if( options.MachineTagMode != MachineTagMode.None ) parameters.Add("machine_tag_mode", options.MachineTagModeString);
            if( options.MinUploadDate != DateTime.MinValue ) parameters.Add("min_upload_date", Utils.DateToUnixTimestamp(options.MinUploadDate).ToString());
            if( options.MaxUploadDate != DateTime.MinValue ) parameters.Add("max_upload_date", Utils.DateToUnixTimestamp(options.MaxUploadDate).ToString());
            if( options.MinTakenDate != DateTime.MinValue ) parameters.Add("min_taken_date", options.MinTakenDate.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo));
            if( options.MaxTakenDate != DateTime.MinValue ) parameters.Add("max_taken_date", options.MaxTakenDate.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo));
            if( options.Licenses.Length != 0 )
            {
                string lic = "";
                for(int i = 0; i < options.Licenses.Length; i++)
                {
                    if( i > 0 ) lic += ",";
                    lic += Convert.ToString(options.Licenses[i]);
                }
                parameters.Add("license", lic);
            }
            if( options.PerPage != 0 ) parameters.Add("per_page", options.PerPage.ToString());
            if( options.Page != 0 ) parameters.Add("page", options.Page.ToString());
            if( options.Extras != PhotoSearchExtras.None ) parameters.Add("extras", options.ExtrasString);
            if( options.SortOrder != PhotoSearchSortOrder.None ) parameters.Add("sort", options.SortOrderString);
            if( options.PrivacyFilter != PrivacyFilter.None ) parameters.Add("privacy_filter", options.PrivacyFilter.ToString("d"));
            if( options.BoundaryBox.IsSet ) parameters.Add("bbox", options.BoundaryBox.ToString());
            if( options.Accuracy != GeoAccuracy.None ) parameters.Add("accuracy", options.Accuracy.ToString("d"));

            FlickrNet.Response response = GetResponseCache(parameters);

            if( response.Status == ResponseStatus.OK )
            {
                return response.Photos;
            }
            else
            {
                throw new FlickrException(response.Error);
            }
        }

Same methods

Flickr::PhotosSearch ( string tags ) : Photos
Flickr::PhotosSearch ( string tags, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string tags, TagMode tagMode, string text ) : Photos
Flickr::PhotosSearch ( string tags, TagMode tagMode, string text, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string tags, TagMode tagMode, string text, int perPage, int page ) : Photos
Flickr::PhotosSearch ( string tags, TagMode tagMode, string text, int perPage, int page, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string tags, int license ) : Photos
Flickr::PhotosSearch ( string tags, int license, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string userId, string tags ) : Photos
Flickr::PhotosSearch ( string userId, string tags, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text, DateTime minUploadDate, DateTime maxUploadDate, int license, int perPage, int page ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text, DateTime minUploadDate, DateTime maxUploadDate, int license, int perPage, int page, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text, int perPage, int page ) : Photos
Flickr::PhotosSearch ( string userId, string tags, TagMode tagMode, string text, int perPage, int page, PhotoSearchExtras extras ) : Photos
Flickr::PhotosSearch ( string userId, string tags, int license ) : Photos
Flickr::PhotosSearch ( string userId, string tags, int license, PhotoSearchExtras extras ) : Photos

Usage Example

Exemple #1
1
        static void Main(string[] args)
        {
            Flickr flickr = new Flickr(FlickrKey.Key, FlickrKey.Secret);
            Auth auth = null;
            if (File.Exists("key.txt"))
            {
                using (var sr = new StreamReader("key.txt"))
                {
                    flickr.OAuthAccessToken = sr.ReadLine();
                    flickr.OAuthAccessTokenSecret = sr.ReadLine();
                }

            }

            if (!string.IsNullOrEmpty(flickr.OAuthAccessToken) &&
                 !string.IsNullOrEmpty(flickr.OAuthAccessTokenSecret))
            {
                auth = flickr.AuthOAuthCheckToken();
                int g = 56;
            }
            else
            {
                var requestToken = flickr.OAuthGetRequestToken("oob");
                var url = flickr.OAuthCalculateAuthorizationUrl(requestToken.Token, AuthLevel.Delete);
                Process.Start(url);

                var verifier = Console.ReadLine();

                OAuthAccessToken accessToken = flickr.OAuthGetAccessToken(requestToken, verifier);
                flickr.OAuthAccessToken = accessToken.Token;
                flickr.OAuthAccessTokenSecret = accessToken.TokenSecret;

                using (var sw = new StreamWriter("key.txt", false))
                {
                    sw.WriteLine(flickr.OAuthAccessToken);
                    sw.WriteLine(flickr.OAuthAccessTokenSecret);
                }

                auth = flickr.AuthOAuthCheckToken();
                int y = 56;
            }

            var baseFolder = @"D:\MyData\Camera Dumps\";

            var ex = new PhotoSearchExtras();
            var p = flickr.PhotosSearch(new PhotoSearchOptions(auth.User.UserId){Extras = PhotoSearchExtras.DateTaken | PhotoSearchExtras.PathAlias, });
            var sets = flickr.PhotosetsGetList();
            foreach (var set in sets)
            {
                var setDir = Path.Combine(baseFolder, set.Title);
                if ( Directory.Exists(setDir) )
                {
                    var setPhotos = flickr.PhotosetsGetPhotos(set.PhotosetId, PhotoSearchExtras.DateTaken | PhotoSearchExtras.MachineTags | PhotoSearchExtras.OriginalFormat | PhotoSearchExtras.DateUploaded);
                    foreach(var setPhoto in setPhotos)
                    {
                        if (Math.Abs((setPhoto.DateUploaded - setPhoto.DateTaken).TotalSeconds) < 60)
                        {
                            // Suspicious
                            int s = 56;
                        }

                        string ext = ".jpg";
                        if (setPhoto.OriginalFormat != "jpg")
                        {
                            int xxx = 56;
                        }
                        var filePath = Path.Combine(setDir, setPhoto.Title + ext);

                        if (!File.Exists(filePath))
                        {
                            // try mov
                            filePath = Path.Combine(setDir, setPhoto.Title + ".mov");

                            if (!File.Exists(filePath))
                            {
                                Console.WriteLine("not found " + filePath);
                            }
                        }

                        Console.WriteLine(filePath);
                        if ( File.Exists(filePath))
                        {
                            DateTime dateTaken;
                            if (!GetExifDateTaken(filePath, out dateTaken))
                            {
                                var fi = new FileInfo(filePath);
                                dateTaken = fi.LastWriteTime;
                            }

                            if (Math.Abs((dateTaken - setPhoto.DateTaken).TotalSeconds) > 10)
                            {
                                int hmmm = 56;
                            }
                        }
                    }
                }
            }
            //@"D:\MyData\Camera Dumps\"

            int z =  56;
        }
All Usage Examples Of FlickrNet.Flickr::PhotosSearch
Flickr