/// <summary> /// Create new API instance /// </summary> /// <returns> /// API instance /// </returns> /// <exception cref="ArgumentNullException">User auth data must be specified</exception> public IInstaApi Build() { if (_user == null) { throw new ArgumentNullException("User auth data must be specified"); } if (_httpClient == null) { _httpClient = new HttpClient(_httpHandler) { BaseAddress = new Uri(InstaApiConstants.INSTAGRAM_URL) } } ; if (_requestMessage == null) { if (_device == null) { _device = AndroidDeviceGenerator.GetRandomAndroidDevice(); } _requestMessage = new ApiRequestMessage { PhoneId = _device.PhoneGuid.ToString(), Guid = _device.DeviceGuid, Password = _user?.Password, Username = _user?.UserName, DeviceId = ApiRequestMessage.GenerateDeviceId(), AdId = _device.AdId.ToString() }; } if (string.IsNullOrEmpty(_requestMessage.Password)) { _requestMessage.Password = _user?.Password; } if (string.IsNullOrEmpty(_requestMessage.Username)) { _requestMessage.Username = _user?.UserName; } if (_device == null && !string.IsNullOrEmpty(_requestMessage.DeviceId)) { _device = AndroidDeviceGenerator.GetById(_requestMessage.DeviceId); } if (_device == null) { AndroidDeviceGenerator.GetRandomAndroidDevice(); } if (_httpRequestProcessor == null) { _httpRequestProcessor = new HttpRequestProcessor(_delay, _httpClient, _httpHandler, _requestMessage, _logger); } var instaApi = new InstaApi(_user, _logger, _device, _httpRequestProcessor); return(instaApi); }
public IInstaApi Build() { if (_httpClient == null) { _httpClient = new HttpClient(_httpHandler) { BaseAddress = new Uri(InstaApiConstants.INSTAGRAM_URL) } } ; if (_requestMessage == null) { _device = AndroidDeviceGenerator.GetRandomAndroidDevice(); _requestMessage = new ApiRequestMessage { phone_id = _device.PhoneGuid.ToString(), guid = _device.DeviceGuid, password = _user?.Password, username = _user?.UserName, device_id = ApiRequestMessage.GenerateDeviceId() }; } if (string.IsNullOrEmpty(_requestMessage.password)) { _requestMessage.password = _user?.Password; } if (string.IsNullOrEmpty(_requestMessage.username)) { _requestMessage.username = _user?.UserName; } if (_device == null && !string.IsNullOrEmpty(_requestMessage.device_id)) { _device = AndroidDeviceGenerator.GetById(_requestMessage.device_id); } if (_device == null) { AndroidDeviceGenerator.GetRandomAndroidDevice(); } if (_httpRequestProcessor == null) { _httpRequestProcessor = new HttpRequestProcessor(_delay, _httpClient, _httpHandler, _requestMessage, _logger); } var instaApi = new InstaApi(_user, _logger, _device, _httpRequestProcessor); return(instaApi); }