Example #1
0
        /// <summary>
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="filename"></param>
        /// <returns></returns>
        public async Task <string> UploadPhotoFlickr(Stream stream, string filename)
        {
            var baseUriUpload = "https://api.flickr.com/services/upload/";
            var parameter     = new Dictionary <string, string>();

            parameter = OAuthParameters;

            var uploadPhoto = new UploadFlickrPhoto(OAuthAccessTokenSecret, Secret);

            if (!string.IsNullOrEmpty(OAuthAccessToken))
            {
                parameter = OAuthParameters;
                parameter.Add("oauth_token", OAuthAccessToken);
                parameter.Add("oauth_consumer_key", ConsumerKey);
                parameter.Add("title", filename);
                var sig = uploadPhoto.OAuthCalculateSignature("POST", baseUriUpload, parameter, OAuthAccessTokenSecret);
                parameter.Add("oauth_signature", sig);
            }
            else
            {
                parameter.Add("auth_token", OAuthAccessToken);
            }

            var res = await uploadPhoto.UploadDataAsync(stream, filename, new Uri(baseUriUpload), parameter);

            var xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(res);
            var node = xmlDoc.SelectSingleNode("/rsp/@stat");

            return(node.InnerText);
        }