mdk*_*ass 9 wordpress .htaccess google-apps-script
我正在使用当前的Apps脚本功能将新帖子添加到我的WordPress网站:
var um_url = 'http://test.mywebsite.com/wp/wp-json/wp/v2/posts';
var um_headers = {
"Accept" : "application/json",
"Authorization": "Basic "+Utilities.base64Encode("user:passowrd"),
"Content-type":"application/json"
};
var um_options = {
"method":"POST",
"headers": um_headers,
"dataType" : 'json',
"data": {
title: "Foo title",
content: "Foo content",
status: "publish"
}
};
var um_response = UrlFetchApp.fetch(um_url, um_options);
var json = um_response.getContentText();
Logger.log(json);
}
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
{"code":"rest_cannot_create","message":"Sorry, you are not allowed to create new posts.","data":{"status":401}}
Run Code Online (Sandbox Code Playgroud)
我阅读了其他类似的StackOverflow问题,他们通过更改.htacess
文件解决了问题,不幸的是,这并没有解决我的问题。这是我的.htaccess
档案
# BEGIN WP BASIC Auth
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</IfModule>
# END WP BASIC Auth
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
RewriteBase /
RewriteRule ^index\.php$ - [E=X-HTTP_AUTHORIZATION:% {HTTP:Authorization},QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [E=X-HTTP_AUTHORIZATION:%{HTTP:Authorization},QSA,L]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</IfModule>
# END WordPress
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
小智 0
我刚刚遇到了几乎完全相同的问题,试图通过 REST API 添加一些东西。技巧是您需要将 REST WP Nonce(名为 wp_rest)与请求一起发送,作为标头或作为请求变量的一部分......
如果你使用 fetch,你可以这样做......
fetch( route, {
method: method,
headers: {
'X-WP-Nonce': wpApiSettings.nonce
}
} )
Run Code Online (Sandbox Code Playgroud)
或将其添加到您的查询变量中作为“_wpnonce”
wp-includes/rest-api.php
您可以在第 834 行找到将当前用户设置为 0 的代码(版本 5.2.1)
归档时间: |
|
查看次数: |
1806 次 |
最近记录: |