我在googlescript中有一个表单,我可以在表单中添加用户。有没有办法在代码中实现一些行,这样脚本就可以在wordpress页面上添加一个帖子?我读到过通过wp_insert_post可以实现,但我不知道在我的情况下是如何实现的。
编辑:正如Spencer建议的那样,我尝试通过WP REST API来完成。
下面的代码似乎可以正常工作.............
function httpPostTemplate() {
// URL for target web API
var url = 'http://example.de/wp-json/wp/v2/posts';
// For POST method, API parameters will be sent in the
// HTTP message payload.
// Start with an object containing name / value tuples.
var apiParams = {
// Relevant parameters would go here
'param1' : 'value1',
'param2' : 'value2' // etc.
};
// All 'application/json' content goes as a JSON string.
var payload = JSON.stringify(apiParams);
// Construct `fetch` params object
var params = {
'method': 'POST',
'contentType': 'application/json',
'payload': payload,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch(url, params)
// Check return code embedded in response.
var rc = response.getResponseCode();
var responseText = response.getContentText();
if (rc !== 200) {
// Log HTTP Error
Logger.log("Response (%s) %s",
rc,
responseText );
// Could throw an exception yourself, if appropriate
}
else {
// Successful POST, handle response normally
Logger.log( responseText );
}
}
但我得到的错误:
[16-09-28 21:24:29:475 CEST]回应(401.0){“代码”:“无法创建rest_cannot_create”,“消息”:“抱歉,您不允许创建新帖子。",“数据”:{“状态”:401}}
意思是:我必须先认证。我安装了插件:WP REST API - OAuth 1.0a服务器我设置了一个新用户,并得到了一个客户端密钥和客户端用户。但从这里我不知道该怎么做:/
4条答案
按热度按时间dgiusagp1#
这是可能的。WordPress有一个REST API。我可以找到:
http://v2.wp-api.org/
您将使用UrlFetchApp服务访问此API。文档位于:
https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
阅读文档并尝试编写一些代码。如果你遇到了麻烦,请在这里发布让你困惑的代码,我会更新这个答案。
kx5bkwkv2#
您应该在标题中添加您的身份验证:
然后在参数中添加标头:
然后使用UrlfetchApp.fetch
1szpjjfi3#
您需要通过基本身份验证,如下所示:
kxe2p93d4#
谢谢你给我这些重要的链接。〈3
我安装了WP REST API和OAuth插件。在文档中写:
一旦你在你的服务器上激活了WP API和OAuth服务器插件,你就需要创建一个“客户端”。这是应用程序的标识符,包括“密钥”和“秘密”,都需要链接到你的网站。
我找不到如何设置客户端?
在我的GoogleScriptCode根据WP API我得到错误:
编辑:我找到了它-它在用户/应用程序下,我会试着弄清楚它,稍后再给你回复。