private async Task <IActionResult> MakeRequest(OAuthResponse oauthResponse) { int statusCode = 200; var tags = new InstaSharp.Endpoints.Tags(_config, oauthResponse); tags.EnableEnforceSignedHeader(LocalhostIp); var likes = new InstaSharp.Endpoints.Likes(_config, oauthResponse); likes.EnableEnforceSignedHeader(LocalhostIp); var photos = await tags.Recent("foundyourbook"); foreach (var photo in photos.Data) { if (!(photo.UserHasLiked ?? false)) { Thread.Sleep(1200); var likeResult = await likes.Post(photo.Id); statusCode = (int)likeResult.Meta.Code; if (statusCode == 429) { break; } } } return(View("index", statusCode)); }
public static async Task <string> TagsAsync(string query, OAuthResponse oAuthResponse) { var tags = new InstaSharp.Endpoints.Tags(InstagramConfig, oAuthResponse); var searchResults = await tags.Recent(query); return(SerializeResults(searchResults.Data)); }
public static async Task<string> TagsAsync(string query, OAuthResponse oAuthResponse) { var tags = new InstaSharp.Endpoints.Tags(InstagramConfig, oAuthResponse); var searchResults = await tags.Recent(query); return SerializeResults(searchResults.Data); }
public override async Task <TagsResponse> SearchForTagsAsync(string tagPart) { var tags = new InstaSharp.Endpoints.Tags(ApiConfig); var results = await tags.Search(tagPart); return(results); }
private async Task <MediasResponse> GetTagsMediaAsync(string lastId) { var random = new Random(); var tagsEndpoint = new InstaSharp.Endpoints.Tags(ApiConfig); var tag = TagsToProcess.ToArray()[random.Next(0, TagsToProcess.Count() - 1)]; var result = await tagsEndpoint.Recent(tag.Tag.NormalizeIt(), lastId, null, 50); random = null; tagsEndpoint = null; return(result); }
public async Task <object> LoadInstagramPosts(string hashTagTerm) { var oAuthResponse = Session["InstaSharp.AuthInfo"] as OAuthResponse; if (oAuthResponse == null) { return(RedirectToAction("Login")); } var tagApi = new InstaSharp.Endpoints.Tags(config, oAuthResponse); var result = await tagApi.Get("vaiserteta"); return(result.Data); }
public async Task <IActionResult> LoginSuccess(string code) { // add this code to the auth object var auth = new OAuth(_config); // now we have to call back to instagram and include the code they gave us // along with our client secret var oauthResponse = await auth.RequestToken(code); // both the client secret and the token are considered sensitive data, so we won't be // sending them back to the browser. we'll only store them temporarily. If a user's session times // out, they will have to click on the authenticate button again - sorry bout yer luck. HttpContext.Session.SetString("InstaSharp.AuthInfo", JsonConvert.SerializeObject(oauthResponse)); var users = new InstaSharp.Endpoints.Tags(_config, oauthResponse); var recent = await users.RecentMultiplePages("mood"); return(View()); }
public async Task ReadMedia(InstaConfig configData, int keywordIndex) { var clientId = configData.id; var clientSecret = configData.secret; InstagramConfig config = new InstagramConfig(clientId, clientSecret); OAuthResponse oauthResponse = new OAuthResponse(); oauthResponse.Access_Token = configData.token; oauthResponse.User = new User() { FullName = "Dave Brown", Username = "******" }; var tagEndpoint = new InstaSharp.Endpoints.Tags(config, oauthResponse); try { List<String> keywords = new List<string>() { "photoshoot", "fashion", "model", "modeling", "modelling", "models" }; string currentKeyword = keywords[keywordIndex]; SendToLoggerAndConsole("The keyword we're going to work through: " + currentKeyword + " For token: " + configData.token.ToString()); MediasResponse recentMedia; try { recentMedia = await tagEndpoint.Recent(currentKeyword); } catch (Exception ex) { SendToLoggerAndConsole("There was a problem getting recent media."); log.Error("Here's the exception", ex); SendToLoggerAndConsole("Bailing out of this key: " + configData.token.ToString()); return; } var likesEndpoint = new InstaSharp.Endpoints.Likes(config, oauthResponse); var commentsEndpoint = new InstaSharp.Endpoints.Comments(config, oauthResponse); SendToLoggerAndConsole("We have " + recentMedia.Data.Count.ToString() + " images to work through"); SendToLoggerAndConsole("Here's the amount of likes we have remaining: " + recentMedia.RateLimitRemaining.ToString() + " For token: " + configData.token.ToString()); bool rateLimitExceeded = recentMedia.RateLimitRemaining < 4971; int badResponseCount = 1; foreach (var image in recentMedia.Data) { if (!image.UserHasLiked.Value) { if (!rateLimitExceeded) { SendToLoggerAndConsole("About to start liking now picture id: " + image.Id); try { var likeResponse = await likesEndpoint.Post(image.Id); rateLimitExceeded = likeResponse.RateLimitRemaining < 4971; SendToLoggerAndConsole("Like response: " + likeResponse.Meta.Code.ToString() + " For token: " + configData.token.ToString()); SendToLoggerAndConsole("You have : " + likeResponse.RateLimitRemaining.ToString() + " remaining on token: " + configData.token.ToString()); SendToLoggerAndConsole("You are working on keyword: " + currentKeyword); SendToLoggerAndConsole("Currently on Index: " + configData.index.ToString()); if (likeResponse.Meta.Code != System.Net.HttpStatusCode.OK) { SendToLoggerAndConsole("Because the like response was: " + likeResponse.Meta.Code.ToString() + " For token: " + configData.token.ToString()); SendToLoggerAndConsole("We're going to wait: " + (30 * badResponseCount).ToString() + " minutes before we like another shot"); await Task.Delay(new TimeSpan(0, 30 * badResponseCount, 0)).ConfigureAwait(continueOnCapturedContext: false); badResponseCount++; } else { badResponseCount = 1; SendToLoggerAndConsole("Just liked " + image.Id + " For token: " + configData.token.ToString()); await Task.Delay(new TimeSpan(0, 0, new Random(DateTime.Now.Millisecond).Next(200, 300))).ConfigureAwait(continueOnCapturedContext: false); } } catch { } } } } } catch { } }
private async Task<MediasResponse> GetTagsMediaAsync(string lastId) { var random = new Random(); var tagsEndpoint = new InstaSharp.Endpoints.Tags(ApiConfig); var tag = TagsToProcess.ToArray()[random.Next(0, TagsToProcess.Count() - 1)]; var result = await tagsEndpoint.Recent(tag.Tag.NormalizeIt(), lastId, null, 50); random = null; tagsEndpoint = null; return result; }
public override async Task<TagsResponse> SearchForTagsAsync(string tagPart) { var tags = new InstaSharp.Endpoints.Tags(ApiConfig); var results = await tags.Search(tagPart); return results; }