Esempio n. 1
0
 protected virtual void _readArticle(article_base a)
 {
     throw new NotImplementedException();
 }
Esempio n. 2
0
        public static async Task PostCommentV2(article_base a, string comment)
        {
            await VerifyAccountV3AndRefreshIfNecessary(RequireStrongAuth: true);

            var client = ApiClient;
            var req = NewJsonRequest();
            req.Method = Method.POST;

            comment += ViewModelLocator.ApplicationSettingsStatic.CodedSignatureString;

            if (a.object_name == "article")
            {
                req.Resource = "/minisite/article_reply.json";
                req.AddParameter(new Parameter() { Name = "article_id", Value = a.id, Type = ParameterType.GetOrPost });
            }
            else if (a.object_name == "post")
            {
                req.Resource = "/group/post_reply.json";
                req.AddParameter(new Parameter() { Name = "post_id", Value = a.id, Type = ParameterType.GetOrPost });
            }
            else
                throw new NotImplementedException();

            req.AddParameter(new Parameter() { Name = "content", Value = comment, Type = ParameterType.GetOrPost });
            req.AddParameter(new Parameter() { Name = "access_token", Value = ViewModelLocator.ApplicationSettingsStatic.GuokrAccountProfile.access_token, Type = ParameterType.GetOrPost });

            var response = await RestSharpAsync.RestSharpExecuteAsyncTask<PostReplyResponse>(client, req);
            ProcessError(response);
        }
Esempio n. 3
0
        public static async Task PostCommentV3(article_base a, string comment)
        {
            await VerifyAccountV3AndRefreshIfNecessary();
            var client = WwwClient;
            var req = NewJsonRequest();
            req.Resource = "/" + a.object_name + "/" + a.id;
            req.Method = Method.POST;

            comment += ViewModelLocator.ApplicationSettingsStatic.CodedSignatureString;

            string t = await GetCSRFTokenV2(req.Resource);
            req.Resource += "/reply/";
            req.AddParameter(new Parameter() { Name = "content", Value = comment, Type = ParameterType.GetOrPost });
            req.AddParameter(new Parameter() { Name = "csrf_token", Value = t, Type = ParameterType.GetOrPost });

            var response = await RestSharpAsync.RestSharpExecuteAsyncTask(client, req);
            ProcessError(response);
            if (response.StatusCode != HttpStatusCode.OK)
                throw new GuokrException() { errnum = GuokrErrorCode.CallFailure, errmsg = response.Content.Substring(0, 256) };
        }
Esempio n. 4
0
        public static async Task GetArticleInfo(article_base a)
        {
#if false
            var req = NewJsonRequest();
            req.Resource = "api/content/article_info/";
            req.Method = Method.POST;

            req.Parameters.Add(new Parameter() { Name = "obj_id", Value = a.id, Type = ParameterType.GetOrPost });
            var resp = await RestSharpAsync.RestSharpExecuteAsyncTask<List<GuokrArticleInfo>>(WwwClient, req);
            ProcessError(resp);
            if (resp.Data != null && resp.Data.Count > 0)
            {
                //Deployment.Current.Dispatcher.BeginInvoke(() => a.CommentCount = resp.Data[0].reply_count);
                a.CommentCount = resp.Data[0].reply_count;
            }
#endif
        }