コード例 #1
0
        public async Task <IResult <PinsSearchResultMain> > GetBoardPins(string BoardID)
        {
            var fields = new Dictionary <string, string>
            {
                { "source_url", "" },


                { "data", "{\"options\":{\"board_id\":\"" + BoardID + "\"},\"context\":{}}" }
            };


            var request = _httpHelper.GetDefaultRequest(HttpMethod.Get, UriCreator.GetBoardPinsUri(), fields);
            var cookies = _httpRequestProcessor.HttpHandler.CookieContainer.GetCookies(_httpRequestProcessor.Client.BaseAddress);

            _httpHelper.AssginDefaultHeaders(ref request, cookies[PinApiConstants.CSRFTOKEN]?.Value);


            var response = await _httpRequestProcessor.SendAsync(request);

            var json      = JObject.Parse(await response.Content.ReadAsStringAsync());
            var popupJson = json["resource_response"]["data"].ToString();



            List <PinsSearchResultItem> LIST = JsonConvert.DeserializeObject <List <PinsSearchResultItem> >(popupJson);


            PinsSearchResultMain pinsSearchResultMain = new PinsSearchResultMain();

            pinsSearchResultMain.PinsSearchResultItem = LIST;


            return(Result.Success(pinsSearchResultMain));
        }
コード例 #2
0
        public async Task <IResult <PinsSearchResultMain> > SearchPins(string Query, string Cursor)
        {
            var builder = new UriBuilder("https://www.pinterest.com/" + PinApiConstants.RESOURCE_SEARCH);

            builder.Port = -1;


            var query = HttpUtility.ParseQueryString(builder.Query);

            query["source_url"] = "";
            query["data"]       = query["data"] = "{\"options\":{\"scope\":\"pins\",\"query\":\"" + Query + "\"},\"context\":{}}";
            builder.Query       = query.ToString();
            string url = builder.ToString();


            var request = _httpHelper.GetDefaultRequest(HttpMethod.Get, new Uri(url));


            var cookies = _httpRequestProcessor.HttpHandler.CookieContainer.GetCookies(_httpRequestProcessor.Client.BaseAddress);

            _httpHelper.AssginDefaultHeaders(ref request, cookies[PinApiConstants.CSRFTOKEN]?.Value);


            var response = await _httpRequestProcessor.SendAsync(request);

            var json      = JObject.Parse(await response.Content.ReadAsStringAsync());
            var popupJson = json["resource_response"]["data"]["results"].ToString();
            var cursor    = json["resource_response"]["bookmark"].ToString();



            List <PinsSearchResultItem> LIST = JsonConvert.DeserializeObject <List <PinsSearchResultItem> >(popupJson);


            PinsSearchResultMain pinsSearchResultMain = new PinsSearchResultMain();

            pinsSearchResultMain.PinsSearchResultItem = LIST;
            pinsSearchResultMain.Cursor = cursor;

            return(Result.Success(pinsSearchResultMain));
        }