Ejemplo n.º 1
0
 public List <Rule> GetRules()
 {
     try
     {
         ErrorState = false;
         string content;
         var    resultCode = Restful.GetRestResponse("Get", Url, Username, Password, out content);
         if (resultCode == HttpStatusCode.OK)
         {
             var ruleList = JsonConvert.DeserializeObject <Rules>(content).rules;
             return(ruleList);
         }
         else
         {
             ErrorMessage = "Invalid HTTP Response code." + resultCode;
             ErrorState   = true;
             return(null);
         }
     }
     catch (Exception ex)
     {
         ErrorState   = true;
         ErrorMessage = ex.Message;
         return(null);
     }
 }
Ejemplo n.º 2
0
        public Counts GetCounts(string Query, string bucket = "day", DateTime?fromDateTime = null, DateTime?toDateTime = null)
        {
            var endPoint = GetEndPoint(Search_Endpoint.Counts);

            try
            {
                ErrorState = false;
                string content = "";

                var searchData = new SearchPost();
                searchData.query      = Query;
                searchData.maxResults = 0;

                searchData.bucket = bucket;
                if (fromDateTime != null)
                {
                    searchData.fromDate = fromDateTime.GetValueOrDefault();
                }
                if (toDateTime != null)
                {
                    searchData.toDate = toDateTime.GetValueOrDefault();
                }
                if (hasMore)
                {
                    searchData.next = nextToken;
                }
                var postSearch = BuildQueryJson(searchData);
                QueryJson = postSearch;

                var resultCode = Restful.GetRestResponse("Post", endPoint, Username, Password, out content, postSearch);
                if (resultCode == HttpStatusCode.OK)
                {
                    var searchResult = JsonConvert.DeserializeObject <Counts>(content.ToString());
                    nextToken = searchResult.next;
                    if (searchResult.results != null)
                    {
                        return(searchResult);
                    }

                    return(null);
                }
                else
                {
                    ErrorMessage = "Invalid HTTP Response code." + resultCode + " " + content;
                    ErrorState   = true;
                    return(null);
                }
            }
            catch (Exception ex)
            {
                ErrorState   = true;
                ErrorMessage = ex.Message;
                return(null);
            }
        }
Ejemplo n.º 3
0
        public bool DeleteRules(List <Rule> rules, bool isPowerTrack20 = false)
        {
            try
            {
                var            deleteJson = rules.ToJson();
                string         responseString;
                HttpStatusCode responseCode;

                if (isPowerTrack20)
                {
                    responseCode = Restful.GetRestResponse(
                        "POST",
                        Url + @"?_method=delete",
                        Username,
                        Password,
                        out responseString,
                        deleteJson);
                }
                else
                {
                    responseCode = Restful.GetRestResponse(
                        "DELETE",
                        Url,
                        Username,
                        Password,
                        out responseString,
                        deleteJson);
                }
                if (responseCode == HttpStatusCode.OK)
                {
                    return(true);
                }
                else
                {
                    ErrorMessage = "Delete, returned an HTTP Status Code " + responseCode.ToString();
                    return(false);
                }
            }
            catch (WebException we)
            {
                Debug.WriteLine("Web Exception:" + we.Message);
                ErrorMessage = we.Message;
                ErrorState   = true;
                return(false);
            }
            catch (Exception ex)
            {
                ErrorState   = true;
                ErrorMessage = ex.Message;
                return(false);
            }
        }
Ejemplo n.º 4
0
        public static UsageResults GetUsage(string AccountName, string Username, string Password, string Bucket = "month")
        {
            if (AccountName == null || Bucket == null)
            {
                throw new ArgumentNullException(null, "Required parameter missing");
            }

            // https://account-api.gnip.com/accounts/[your_account_name]/usage.json

            var endPoint = @"https://account-api.gnip.com/accounts/" + AccountName + "/usage.json";

            try
            {
                string content = "";

                var fullEndPoint = endPoint + "?bucket=" + Bucket;
                Debug.WriteLine("fullEndPoint = |" + fullEndPoint + "|");


                var resultCode = Restful.GetRestResponse("Get", fullEndPoint, Username, Password, out content);
                if (resultCode == HttpStatusCode.OK)
                {
                    var searchResult = JsonConvert.DeserializeObject <UsageResults>(content.ToString());
                    if (searchResult.account != null)
                    {
                        return(searchResult);
                    }
                    // else (no data to return, but not an error)
                    return(null);
                }
                else
                {
                    var result = new UsageResults()
                    {
                        ErrorMessage = "Invalid HTTP Response code." + resultCode + " " + content,
                        hasError     = true
                    };
                    return(result);
                }
            }
            catch (Exception ex)
            {
                var result = new UsageResults()
                {
                    ErrorMessage = ex.Message,
                    hasError     = true
                };
                return(result);
            }
        }
Ejemplo n.º 5
0
        public List <Activity> GetResults(string Query, DateTime?fromDateTime = null, DateTime?toDateTime = null, int maxResults = 500)
        {
            var endPoint = @"https://search.gnip.com/accounts/" + AccountName + "/search/" + StreamName + ".json";

            try
            {
                ErrorState = false;
                string content = "";

                var searchData = new SearchPost();
                searchData.query      = Query;
                searchData.maxResults = maxResults;
                searchData.publisher  = "twitter";
                searchData.fromDate   = fromDateTime.GetValueOrDefault();
                searchData.toDate     = toDateTime.GetValueOrDefault();
                if (hasMore)
                {
                    searchData.next = nextToken;
                }
                searchData.bucket = null;
                var postSearch = BuildQueryJson(searchData);
                QueryJson = postSearch;
                var resultCode = Restful.GetRestResponse("Post", endPoint, Username, Password, out content, postSearch);
                if (resultCode == HttpStatusCode.OK)
                {
                    var searchResult = JsonConvert.DeserializeObject <Results>(content.ToString());
                    nextToken = searchResult.next;
                    return(searchResult.results != null?searchResult.results.ToList() : null);
                }
                else
                {
                    ErrorMessage = "Invalid HTTP Response code." + resultCode + " " + content;
                    ErrorState   = true;
                    return(null);
                }
            }
            catch (Exception ex)
            {
                ErrorState   = true;
                ErrorMessage = ex.Message;
                return(null);
            }
        }
Ejemplo n.º 6
0
        public bool AddRules(List <Rule> rules)
        {
            try
            {
                // custom serializer to prevent the escaping of quotes on propertynames
                var sb = new StringBuilder();
                var sw = new StringWriter(sb);

                using (JsonWriter jw = new JsonTextWriter(sw))
                {
                    jw.WriteStartObject();
                    jw.WritePropertyName("rules", false);
                    jw.WriteStartArray();
                    foreach (var rule in rules)
                    {
                        jw.WriteStartObject();
                        jw.WritePropertyName("value", false);
                        jw.WriteValue(rule.value);
                        jw.WritePropertyName("tag", false);
                        jw.WriteValue(rule.tag);
                        jw.WriteEndObject();
                    }

                    jw.WriteEndArray();
                    jw.WriteEndObject();
                }

                var    addJson = sb.ToString();
                string responseString;

                var responseCode = Restful.GetRestResponse(
                    "POST",
                    Url,
                    Username,
                    Password,
                    out responseString,
                    addJson);

                if (responseCode == HttpStatusCode.Created)
                {
                    return(true);
                }
                else
                {
                    ErrorMessage = "AddRules, returned an HTTP Status Code " + responseCode.ToString();
                    return(false);
                }
            }
            catch (WebException we)
            {
                Debug.WriteLine("Web Exception:" + we.Message);
                ErrorMessage = we.Message;
                ErrorState   = true;
                return(false);
            }
            catch (Exception ex)
            {
                ErrorState   = true;
                ErrorMessage = ex.Message;
                return(false);
            }
        }