Exemple #1
0
        public T Post <T>(IWeiboRequest <T> request) where T : IWeiboResponse, new()
        {
            var url = new StringBuilder(request.Url);

            if (request.WeiboType == WeiboType.Sina)
            {
                url.Append(_format);
            }

            var form = new HttpUrlEncodedForm();

            if (request.WeiboType == WeiboType.QQ)
            {
                form.Append("format", _format.ToString());
            }

            if (request.Parameters.Count > 0)
            {
                foreach (var parameter in request.Parameters)
                {
                    form.Append(parameter.Key, parameter.Value);
                }
            }

            var oauthRequest = new OAuthHttpRequestMessage("POST", url.ToString(), form).Sign(_accessToken);
            var result       = _client.Send(oauthRequest).ReadContentAsString();

            var response = new T();

            response.ConvertFrom(result);

            return(response);
        }
Exemple #2
0
        public T Get <T>(IWeiboRequest <T> request) where T : IWeiboResponse, new()
        {
            var url = new StringBuilder(request.Url);

            if (request.WeiboType == WeiboType.Sina)
            {
                url.Append(_format + "?");
            }
            else
            {
                url.AppendFormat("?format={0}&", _format);
            }

            if (request.Parameters != null)
            {
                foreach (var parameter in request.Parameters)
                {
                    url.AppendFormat(parameter.Key + "={0}&", parameter.Value);
                }
            }

            url.Remove(url.Length - 1, 1);

            var oauthRequest = new OAuthHttpRequestMessage("GET", url.ToString()).Sign(_accessToken);
            var result       = _client.Send(oauthRequest).ReadContentAsString();

            var response = new T();

            response.ConvertFrom(result);

            return(response);
        }