示例#1
0
        public static bool Get_Tagged_PinDetail(ref CMS_PinOfBoardModels model, string pinId)
        {
            string data    = string.Empty;
            var    urlOrg  = Commons.HostApiPinDetail + "pin/" + pinId;
            var    path    = string.Empty;
            var    objJson = new
            {
                options = new
                {
                    id              = pinId,
                    field_set_key   = "detailed",
                    is_landing_page = false,
                },
                context = new
                {
                },
            };
            string input = JsonConvert.SerializeObject(objJson);

            path = "";
            string[] pattern      = new string[] { "\n", "\r", "\t" };
            string[] replacements = new string[] { "", "", "" };
            data = InitBaseBoard.Preg_replace(input, pattern, replacements);
            var timestamp = InitBaseBoard.GetTimestamp(DateTime.Now);
            var url       = urlOrg + "&data=" + data + "" + path + "&_=" + timestamp;
            var bookmarks = "";

            getDataPinDetail(url, ref model);

            if (!string.IsNullOrEmpty(bookmarks))
            {
                Get_Tagged_PinDetail(ref model, pinId);
            }
            return(false);
        }
示例#2
0
        /* parse data pin of board from api */
        public static void getDataPinDetail(string url, ref CMS_PinOfBoardModels model)
        {
            dynamic dataLog = null;

            try
            {
                Uri uri            = new Uri(url);
                var httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
                httpWebRequest.Headers["X-Requested-With"] = "XMLHttpRequest";
                httpWebRequest.Headers["Cookie"]           = _Cookies;
                httpWebRequest.Timeout = 100000;
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var answer = streamReader.ReadToEnd();
                    JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                    dynamic dobj = jsonSerializer.Deserialize <dynamic>(answer);
                    dataLog = dobj;
                    if (dobj != null)
                    {
                        var resource_data_cache = dobj["resource_data_cache"];
                        if (resource_data_cache != null)
                        {
                            var data = resource_data_cache[0]["data"];
                            if (data != null)
                            {
                                var json = new JavaScriptSerializer().Serialize(data);
                                CMS_PinOfBoardDetailModels objBoards = JsonConvert.DeserializeObject <CMS_PinOfBoardDetailModels>(json);
                                if (objBoards != null)
                                {
                                    model.created_at = DateTime.Parse(objBoards.created_at.ToString(), new CultureInfo("en-US", true));
                                }
                                ;
                            }
                        }
                    }
                    streamReader.Close();
                    streamReader.Dispose();
                }
            }
            catch (Exception ex)
            {
                NSLog.Logger.Info("ErrorGetDataPinterest: ", dataLog);
                NSLog.Logger.Info("ErrorGetDataPinterest: ", ex);
            }
        }