Мне нужно обновить страницу или публикацию Wordpress, но я не нашел ни одного примера.
Все, что я нахожу, — это примеры того, как получить одну или несколько страниц или сообщений или как создать новую страницу.
Но как обновить дату или заголовок страницы? При моих попытках я получаю ответы об ошибках «BadRequest» или «NotFound».
Я могу без проблем получать страницы, делая это:
Код: Выделить всё
public async Task LoadPagessAsync()
{
var client = new RestClient("https://myfoowebname.com/wp-json/wp/v2/"); //obviously this url is fake
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Title", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
int page = 1;
bool morePages = true;
while (morePages)
{
var request = new RestRequest($"pages?Authorization=Bearer{Web.Authorization}", Method.Get);
request.AddParameter("per_page", 100);
request.AddParameter("page", page);
var response = await client.ExecuteAsync(request, Method.Get);
if (response.IsSuccessful)
{
var pages = JArray.Parse(response.Content);
foreach (var pageItem in pages)
{
table.Rows.Add(pageItem["id"].Value(), pageItem["title"]["rendered"].Value(), pageItem["date"].Value());
}
if (pages.Count < 100)
{
morePages = false;
}
else
{
page++;
}
}
else
{
Console.WriteLine("Error getting pages: " + response.ErrorMessage);
morePages = false;
}
}
return table;
}
Код: Выделить всё
public async Task UpdatePageDate(int pageId, DateTime date)
{
var client = new RestClient("https://myfoowebname.com/wp-json/wp/v2/"); //obviously this url is fake
var request = new RestRequest($"page/{pageId}?Authorization=Bearer{Web.Authorization}", Method.Post);
request.AddJsonBody(new { date = date.ToString("yyyy-MM-ddTHH:mm:ssZ") });
var response = await client.ExecuteAsync(request);
if (response.StatusCode != HttpStatusCode.OK)
{
Console.WriteLine($"Error updating {pageId}: " + response.ErrorMessage);
}
}
Есть идеи, как это сделать?
Подробнее здесь: https://stackoverflow.com/questions/786 ... m-net-core
Мобильная версия