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); } ); } ); } } } }
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); }
public async Task UserInfo_Disposed() { tc = new TumblrClientFactory().Create <TumblrClient>(_consumerKey, _consumerSecret, new Token(_accessKey, _accessSecret)); tc.Dispose(); var userInfo = await tc.GetUserInfoAsync(); }
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"); }
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()); }
/// <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); }
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); }
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"); })); }
public async Task UserInfo_Required() { tc = new TumblrClientFactory().Create <TumblrClient>(_consumerKey, _consumerSecret, null); var userInfo = await tc.GetUserInfoAsync(); }
/// <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>"); } }); }); }