Как обновить страницу WordPress из .NET CoreC#

Место общения программистов C#
Ответить
Anonymous
 Как обновить страницу WordPress из .NET Core

Сообщение Anonymous »

Я загрузил пример проекта WordPressPCL в https://github.com/wp-net/WordPressPCL.
Мне нужно обновить страницу или публикацию 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);
}
}
Изменение POST на PUT тоже не работает.
Есть идеи, как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/786 ... m-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»