Beispiel #1
0
        private async void LoadTagsFromPosts()
        {
            if (tumblrClient != null)
            {
                var userInfo = await tumblrClient.GetUserInfoAsync();

                var blogs = userInfo.Blogs;

                foreach (var blog in blogs)
                {
                    var blogInfo = await tumblrClient.GetBlogInfoAsync(blog.Name);

                    for (int i = 0; i < blogInfo.PostsCount; i = i + 20)
                    {
                        var posts = await tumblrClient.GetPostsAsync(blog.Name, i);

                        Parallel.ForEach(posts.Result, (post) =>
                        {
                            Parallel.For(0, post.Tags.Length - 1, (k) =>
                            {
                                string tag = post.Tags[k];

                                postTags.Add(tag);
                            }
                                         );
                        }
                                         );
                    }
                }
            }
        }
Beispiel #2
0
        public async Task <string> GetUser()
        {
            UserInfo user = await _tc.GetUserInfoAsync();

            StringBuilder sb = new StringBuilder();

            AddHtmlHeader(sb, "User");

            sb.AppendLine($"Willkommen {user.Name} du hast folgende Blogs:");

            sb.AppendLine("<ul>");

            foreach (var blog in user.Blogs)
            {
                sb.AppendLine(" <li>");
                sb.Append(@"<a href=""Blogs?name=");
                sb.Append($"{blog.Name}");
                sb.Append(@""">");
                sb.Append($"{blog.Name}");
                sb.Append(@"</a>");
                sb.AppendLine(" </li>");
            }

            sb.AppendLine("</ul>");

            AddEndHTML(sb);

            string result = sb.ToString();

            return(result);
        }
Beispiel #3
0
        public async Task UserInfo_Disposed()
        {
            tc = new TumblrClientFactory().Create <TumblrClient>(_consumerKey, _consumerSecret, new Token(_accessKey, _accessSecret));

            tc.Dispose();

            var userInfo = await tc.GetUserInfoAsync();
        }
Beispiel #4
0
        public async Task UserInfo_1()
        {
            tumblrClient = new TumblrClientFactory().Create <TumblrClient>(_consumerKey, _consumerSecret, new Token(_accessKey, _accessSecret));

            var userInfo = await tumblrClient.GetUserInfoAsync();

            Assert.AreEqual(userInfo.Blogs[1].Name, "newtsharp");
        }
Beispiel #5
0
        private async void btnTest_Click(object sender, EventArgs e)
        {
            // create TumblrClient
            tumblrClient = new TumblrClientFactory().Create <TumblrClient>(eConsumerKey.Text, eConsumerSecret.Text, new Token(eAccessKey.Text, eAccessSecret.Text));

            // Queries user info
            var userInfo = await tumblrClient.GetUserInfoAsync();

            MessageBox.Show("Number of Blogs is you following: " + userInfo.FollowingCount.ToString());
        }
Beispiel #6
0
        /// <summary>
        /// get follower for the first blog
        /// </summary>
        /// <returns>a string</returns>
        public async Task <string> GetFollowerCount()
        {
            UserInfo user = await _tc.GetUserInfoAsync();

            Followers followers = await _tc.GetFollowersAsync(user.Blogs.First().Name);

            string result = $"Your blog {user.Blogs.First().Name} have {followers.Count} Follower";

            return(result);
        }
Beispiel #7
0
        public async Task <List <string> > GetBlog()
        {
            List <string> result = new List <string>();

            UserInfo userInfo = await client.GetUserInfoAsync();

            foreach (var blog in userInfo.Blogs)
            {
                result.Add(blog.Name);
            }

            return(result);
        }
Beispiel #8
0
        public async void GotCallback(string data)
        {
            Console.WriteLine("Get access token");
            Token accessToken = await _oAuthClient.GetAccessTokenAsync(_oAuthToken, data);

            Console.WriteLine("Loading without await...");
            this.Invoke(new Action(() =>
            {
                form1.groupBox1.Enabled = true;
                form1.textBox3.Text     = accessToken.Key;
                form1.textBox4.Text     = accessToken.Secret;
            }));

            Console.WriteLine("Build client");
            _tumblrClient = new TumblrClientFactory().Create <TumblrClient>(consumerKey, consumerSecret, accessToken);
            UserInfo info = await _tumblrClient.GetUserInfoAsync();

            this.Invoke(new Action(() =>
            {
                form1.groupBox2.Enabled = true;
                textBox5.Text           = info.Name;
                textBox6.Text           = info.Blogs.Length.ToString();
                textBox7.Text           = info.FollowingCount.ToString();
                textBox8.Text           = info.LikesCount.ToString();
            }));

            this.Invoke(new Action(() =>
            {
                form1.groupBox3.Enabled = true;

                /* add to ComboBox */
                comboBox1.Items.Add("Text");
                comboBox1.Items.Add("Answer");
                comboBox1.Items.Add("Audio");
                comboBox1.Items.Add("Chat");
                comboBox1.Items.Add("Link");
                comboBox1.Items.Add("Photo");
                comboBox1.Items.Add("Quote");
                comboBox1.Items.Add("Video");

                /* Add to PostCreationState */
                comboBox2.Items.Add("Draft");
                comboBox2.Items.Add("Private");
                comboBox2.Items.Add("Published");
                comboBox2.Items.Add("Queue");
                comboBox2.Items.Add("Submission");
            }));
        }
Beispiel #9
0
        public async Task UserInfo_Required()
        {
            tc = new TumblrClientFactory().Create <TumblrClient>(_consumerKey, _consumerSecret, null);

            var userInfo = await tc.GetUserInfoAsync();
        }
Beispiel #10
0
        /// <summary>
        /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        /// </summary>
        /// <param name="app">IApplicationBuilder</param>
        /// <param name="env">IHostingEnvironment</param>
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Map("/Request", context =>
            {
                context.Run(async(subcontext) =>
                {
                    // create the callbackurl
                    string callbackUrl = subcontext.Response.HttpContext.Request.Scheme + "://" + subcontext.Response.HttpContext.Request.Host.ToString() + "/TumblrLogIn";

                    // ordering requesttoken
                    requestToken = await oAuthClient.GetRequestTokenAsync(callbackUrl);

                    // get the url for authorization
                    var lAuthorizeUrl = oAuthClient.GetAuthorizeUrl(requestToken);

                    // call the authorize url
                    subcontext.Response.Redirect(lAuthorizeUrl.AbsoluteUri);
                });
            });

            app.MapWhen(
                context => context.Request.Path.StartsWithSegments("/TumblrLogIn"),
                context =>
            {
                context.Run(async(subcontext) =>
                {
                    IQueryCollection query = subcontext.Request.Query;

                    query.TryGetValue("oauth_token", out StringValues oauth_token);
                    query.TryGetValue("oauth_verifier", out StringValues oauth_verifier);

                    // ordering accesstoken
                    accessToken = await oAuthClient.GetAccessTokenAsync(requestToken, oauth_token.ToString(), oauth_verifier.ToString());

                    // create tumblrclient
                    tumblrClient = new TumblrClientFactory().Create <TumblrClient>(CONSUMER_KEY, CONSUMER_SECRET, accessToken);

                    var userInfo = await tumblrClient.GetUserInfoAsync();

                    await subcontext.Response.WriteAsync($"<h1>Authenticate - Examples for Asp.Net</h1><p>User: {userInfo.Name}</p><p>Following: {userInfo.FollowingCount}</p>");
                });
            });

            app.Map("", context =>
            {
                context.Run(async(subcontext) =>
                {
                    if (CONSUMER_KEY == "xxx")
                    {
                        await subcontext.Response.WriteAsync("<h1>Authenticate - Examples for Asp.Net</h1><p>You must set the consumerkey and the consumersecret in the source code. Restart the project.</p>");
                    }
                    else
                    {
                        await subcontext.Response.WriteAsync("<h1>Authenticate - Examples for Asp.Net</h1><p>Login Tumblr</p><a href=\"Request\">LogIn</a>");
                    }
                });
            });
        }