protected virtual void _readArticle(article_base a) { throw new NotImplementedException(); }
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); }
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) }; }
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 }