json - 如何使用 Rest API 从 powershell 获取、删除或发布 wordpress 4.9 帖子?
问题描述
我在 technet 上找到了这个powershell 脚本。描述说:第 1 步 - 由 WP REST API 团队安装“JSON 基本身份验证”和“WP REST API”。虽然 WP REST API 团队说“ REST API 包含在 WordPress 4.7 中”,所以不再需要插件。
但现在wp-restApi.ps1脚本不再适用于 WP 4.9。返回下一个错误“ Invoke-WebRequest:远程服务器返回错误:(401)未授权。”
如何使用 powershell Invoke-WebRequest -method post发布到 WP 4.7 及更高版本?
#post title and content
$params = @{
title = "test Rest API post"
content = "test Rest API post content"
status = 'publish'
}
#change username and password before use
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("user:pass@23")))
$header = @{
Authorization=("Basic {0}" -f $base64AuthInfo)
}
$params1=$params|ConvertTo-Json
Invoke-RestMethod -Method post -Uri http://khaoodara.com/wp-json/wp/v2/posts -ContentType "application/json" -Body $params1 -Headers $header -UseBasicParsing
解决方案
原来你需要安装WP-API/Basic-Auth Wordpress插件和脚本开始工作。
推荐阅读
- github - Github,如何在代码历史版本中搜索评论内容?
- php - Laravel应用程序未连接到Azure应用程序中的MySQL
- android - 为什么原生库有 API 限制?
- networking - 来自印度位置 gcp 的 Kubernetes 应用程序延迟问题
- java - JDK 11 的后续 LTS 版本是否会有 OpenJDK 构建?
- syntax - cond 变量没有值
- c++ - 无法分配给 int[10] 类型的成员
- html - 如何完美地将长文本放入 CSS 中的圆圈内
- javascript - 是否可以单击具有动态内容的页面上的每个元素?
- laravel-5 - 传递给 Illuminate\Database\Query\Builder::insert() 的参数 1 必须是数组类型,给定 null