/// <summary> /// create new instance of Instagram Caller to call Instagram API /// </summary> /// <param name="clientid">App's Client ID</param> /// <param name="clientsecret">App's Client Secret</param> /// <param name="userid">Current User ID who has the token</param> /// <param name="accesstoken">Access Token of current user</param> public InstagramCaller(string clientid, string clientsecret, long userid, string accesstoken, string telemetryclient = "") { //assign properties _ClientID = clientid; _ClientSecret = clientsecret; _UserID = userid; _AccessToken = accesstoken; //create telemetry client if (telemetryclient != "") { _Telemetryclient = new TelemetryClient(new TelemetryConfiguration(telemetryclient)); } //prepare Http Client _HttpClient = new HttpClient(); _HttpClient.BaseAddress = new Uri("https://api.instagram.com/v1/"); _HttpClient.DefaultRequestHeaders.Clear(); _HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //initiate response message _ResponseMessage = new HttpResponseMessage(); //initiate the End Points UsersEndPoint = new UsersEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); RelationsEndPoint = new RelationsEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); MediaEndPoint = new MediaEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); CommentsEndPoint = new CommentsEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); LikesEndPoint = new LikesEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); TagsEndPoint = new TagsEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); LocationsEndPoint = new LocationsEndPoint(_ClientID, _ClientSecret, _AccessToken, _UserID, _HttpClient, _ResponseMessage, _Telemetryclient); }
/// <summary> /// Returns a list of recent medias near to the specified location. /// </summary> /// <param name="distance">Distance in meters, max = 5000</param> public List <IMedia> SearchMediaNearLocation(double latitude, double longitude, double distance = 0) { try { return(mediaJsonController.MapJsonToMedias(MediaEndPoint .SearchMediaAPICall(latitude, longitude, distance))); } catch (Exceptions.InstagramAPICallException e) { throw e; } catch (Exception) { return(null); } }