internal string GenerateChallengeSignature(InstaApiVersion apiVersion, string signatureKey, string csrfToken, out string deviceid) { if (string.IsNullOrEmpty(signatureKey)) { signatureKey = apiVersion.SignatureKey; } var api = new InstaApiRequestChallengeMessage { CsrtToken = csrfToken, DeviceId = DeviceId, Guid = Guid, LoginAttemptCount = "1", Password = Password, PhoneId = PhoneId, Username = Username, AdId = AdId }; var res = InstaCryptoHelper.CalculateHash( signatureKey, JsonConvert.SerializeObject(api)); deviceid = DeviceId; return(res); }
internal string GenerateSignature(InstaApiVersion apiVersion, string signatureKey) { if (string.IsNullOrEmpty(signatureKey)) { signatureKey = apiVersion.SignatureKey; } return(InstaCryptoHelper.CalculateHash( signatureKey, JsonConvert.SerializeObject(this))); }
internal string GenerateSignature(InstaApiVersion apiVersion, string signatureKey, out string deviceid) { if (string.IsNullOrEmpty(signatureKey)) { signatureKey = apiVersion.SignatureKey; } var res = InstaCryptoHelper.CalculateHash( signatureKey, JsonConvert.SerializeObject(this)); deviceid = DeviceId; return(res); }
/// <summary> /// Inline comment media /// </summary> /// <param name="mediaId">Media id</param> /// <param name="targetCommentId">Target comment id</param> /// <param name="text">Comment text</param> public async Task <IResult <InstaComment> > ReplyCommentMediaAsync( string mediaId, string targetCommentId, string text) { InstaUserAuthValidator.Validate(userAuthValidate); try { var instaUri = InstaUriCreator.GetPostCommetUri(mediaId); var breadcrumb = InstaCryptoHelper.GetCommentBreadCrumbEncoded(text); var fields = new Dictionary <string, string> { { "user_breadcrumb", breadcrumb }, { "idempotence_token", Guid.NewGuid().ToString() }, { "_uuid", deviceInfo.DeviceGuid.ToString() }, { "replied_to_comment_id", targetCommentId }, { "_uid", user.LoggedInUser.Pk.ToString() }, { "_csrftoken", user.CsrfToken }, { "comment_text", text }, { "containermodule", "comments_feed_timeline" }, { "radio_type", "wifi-none" } }; var request = httpHelper.GetSignedRequest(HttpMethod.Post, instaUri, deviceInfo, fields); var response = await httpRequestProcessor.SendAsync(request).ConfigureAwait(false); var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.OK) { return(Result.UnExpectedResponse <InstaComment>(response, json)); } var commentResponse = JsonConvert.DeserializeObject <InstaCommentResponse>( json, new InstaCommentDataConverter()); var converter = InstaConvertersFabric.Instance.GetCommentConverter(commentResponse); return(Result.Success(converter.Convert())); } catch (HttpRequestException httpException) { logger?.LogError(httpException, "Error"); return(Result.Fail(httpException, default(InstaComment), ResponseType.NetworkProblem)); } catch (Exception exception) { logger?.LogError(exception, "Error"); return(Result.Fail <InstaComment>(exception)); } }
public static string GenerateDeviceIdFromGuid(Guid guid) { var hashedGuid = InstaCryptoHelper.CalculateMd5(guid.ToString()); return($"android-{hashedGuid.Substring(0, 16)}"); }