Esempio n. 1
0
        async Task <string> GetRequestToken()
        {
            string url    = host + "/v3/oauth/request";
            string data   = "{\"consumer_key\":\"" + consumer_key + "\",\"redirect_uri\":\"" + redirect_uri + "\"}";
            string result = await HttpTool.PostStringAsync(url, data);

            var match = tokenCodeReg.Match(result);

            if (match.Success)
            {
                return(match.Groups[1].Value);
            }
            else
            {
                return("");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获取AccessToken,需要有RequestToken
        /// </summary>
        public async Task <bool> GetAccessToken()
        {
            string url    = host + "/v3/oauth/authorize";
            string data   = "{\"consumer_key\":\"" + consumer_key + "\",\"code\":\"" + RequestToken + "\"}";
            string result = await HttpTool.PostStringAsync(url, data);

            var match = accessTokenReg.Match(result);

            if (match.Success)
            {
                SetAccount(match.Groups[2].Value, match.Groups[1].Value);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 3
0
        async Task <List <PocketItem> > GetPocketList(int start, int count, bool isDetail = true, bool?isRead = null, bool?isFavorite = null)
        {
            string          url    = host + "/v3/get";
            FakeJsonBuilder jsonSB = new FakeJsonBuilder();

            jsonSB.AppendItem("consumer_key", consumer_key);
            jsonSB.AppendItem("access_token", AccessToken);
            jsonSB.AppendItem("offset", start);
            jsonSB.AppendItem("count", count);
            jsonSB.AppendItem("detailType", isDetail ? "complete" : "simple");
            jsonSB.AppendItem("state", isRead == null ? "all" : (isRead == true ? "archive" : "unread"));
            if (isFavorite != null)
            {
                jsonSB.AppendItem("favorite", isFavorite == true ? "1" : "0");
            }

            string data = jsonSB.Output();
            //Stream result = await HttpTool.PostStreamAsync(url, data);
            //GetResponsePackage response = getResponsePackage_ser.ReadObject(result) as GetResponsePackage;
            //result.Close();
            string result = await HttpTool.PostStringAsync(url, data);

            GetResponsePackage response = null;
            var match = statusReg.Match(result);

            if (match.Success && match.Groups[1].Value == "1")
            {
                response = Newtonsoft.Json.JsonConvert.DeserializeObject <GetResponsePackage>(result);
            }
            else
            {
                Debug.WriteLine("Warning in GetPocketList: not recognized json string = {0}", result);
            }
            IsSync = true;
            return(response == null ? new List <PocketItem>() : response.list.Values.ToList());
        }