예제 #1
0
        /// <summary>
        /// Facebook API Request
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="appSecret"></param>
        /// <param name="installed"></param>
        /// <returns></returns>
        ///
        internal FacebookTestUserResultModel FacebookTestUserRequest(string appId, string appSecret, bool installed)
        {
            FacebookTestUserResultModel result = new FacebookTestUserResultModel();

            try
            {
                string url  = string.Format("https://graph.facebook.com/{0}/accounts/test-users", appId);
                var    data = new FacebookTestUser
                {
                    AppId     = appId,
                    AppSecret = appSecret,
                    Installed = installed
                };

                string postData = string.Format("installed={0}&access_token={1}|{2}", data.Installed, data.AppId, data.AppSecret);

                result = HttpRequestExtensions.TryPostJson <FacebookTestUserResultModel>(url, postData, 300000);
                if (result == null)
                {
                    result = HttpRequestExtensions.TryPostJson <FacebookTestUserResultModel>(url, postData, 300000);
                }
            }
            catch (Exception exception)
            {
                Logger.Error(exception.Message + "Failed to create Facebook user");
                result = null;
            }
            return(result);
        }
예제 #2
0
        // like a message
        internal StreamsApiResultModel.LikeMessageRequestModel LikePost(string actionName, string authorization, string messageID)
        {
            StreamsApiResultModel.LikeMessageRequestModel result = new StreamsApiResultModel.LikeMessageRequestModel();

            try
            {
                JsonParser jp  = new JsonParser();
                string     url = string.Format("http://{0}/api/streams", jp.ReadJson("TestingEnvironment"));
                authorization = HttpUtility.UrlEncode(authorization);
                string headers = string.Format("{0}", authorization);

                string postData = string.Format("actionName={0}", actionName + messageID);

                result = HttpRequestExtensions.TryPostJson <StreamsApiResultModel.LikeMessageRequestModel>(url, headers, postData, 1000);

                if (result == null)
                {
                    Logger.Error("Failed to like message on " + messageID);
                }
            }

            catch (Exception ex)
            {
                Logger.Error(ex.Message + "Failed to like message on " + messageID);
                result = null;
            }

            return(result);
        }
예제 #3
0
        internal bool FacebookTestUserFriendRequest(string testUser1Id, string testUser2Id, string testUser1AccessToken, string testUser2AccessToken)
        {
            bool result;

            try
            {
                string url      = string.Format("https://graph.facebook.com/{0}/friends/{1}", testUser1Id, testUser2Id);
                string postData = string.Format("access_token={0}", testUser1AccessToken);

                result = HttpRequestExtensions.TryPostJson <bool>(url, postData, 300000);

                if (result)
                {
                    url      = string.Format("https://graph.facebook.com/{1}/friends/{0}", testUser1Id, testUser2Id);
                    postData = string.Format("access_token={0}", testUser2AccessToken);

                    result = HttpRequestExtensions.TryPostJson <bool>(url, postData);
                    if (!result)
                    {
                        //retry
                        result = HttpRequestExtensions.TryPostJson <bool>(url, postData);
                    }
                }
                else
                {
                    //retry
                    url      = string.Format("https://graph.facebook.com/{1}/friends/{0}", testUser1Id, testUser2Id);
                    postData = string.Format("access_token={0}", testUser2AccessToken);

                    result = HttpRequestExtensions.TryPostJson <bool>(url, postData);
                    if (!result)
                    {
                        //retry
                        result = HttpRequestExtensions.TryPostJson <bool>(url, postData);
                    }
                }
            }
            catch (Exception exception)
            {
                LogObject logException = new LogObject();
                logException.Description = exception.Message + "Failed to create Facebook friends connection ";
                logException.StatusTag   = Constants.ERROR;
                logException.Exception   = exception;

                logger.Print(logException);

                result = false;
            }
            return(result);
        }
예제 #4
0
        // post a new message
        internal StreamsApiResultModel.PostMessageResultModel PostMessageRequest(string actionName, string autorization, string ownerUser, string messageBody)
        {
            StreamsApiResultModel.PostMessageResultModel result = new StreamsApiResultModel.PostMessageResultModel();
            try
            {
                JsonParser jsonParser = new JsonParser();
                string     url        = string.Format("http://{0}/api/streams", jsonParser.ReadJson("TestingEnvironment"));
                autorization = HttpUtility.UrlEncode(autorization);
                string headers = string.Format("{0}", autorization);

                string postData = string.Format("actionName={0}&ownerUser={1}&messageBody={2}", actionName, ownerUser, messageBody);

                result = HttpRequestExtensions.TryPostJson <StreamsApiResultModel.PostMessageResultModel>(url, headers, postData, 1000);
            }
            catch (Exception exception)
            {
                Logger.Error(exception.Message + "Failed to post message on " + ownerUser);
                result = null;
            }
            return(result);
        }