2017-10-30 wordpress 的 xmlrpc 的 api (wp.getPost) 有误

简单概述

这几天一直在研究 xmlrpc-c , 主要是想通过研究它来实现在vim 在发布wordpress. 但是我在通过xmlrpc-c的例子程序xmlrpc进行wordperss的xmlrpc的api(wp.getPost)测试时发现它的接口介绍是少写了blogid这个参数导致得不到返回结果。 下面是wordpress的xmlrpc接口的原文如下:

wp.getPost
Retrieve a post of any registered post type.

Added in WordPress 3.4.
Parameters

 string username
 string password
 int post\_id
 array fields: Optional. List of field or meta-field names to include in response.

个人认为应该这样:

wp.getPost
Retrieve a post of any registered post type.

Added in WordPress 3.4.
Parameters

int blogId
string username
string password
int post\_id
array fields: Optional. List of field or meta-field names to include in response.

//blogId 一般情况下是1,

在写xmlrpc call 时可以将这几个参数在xmlrpc-c中都定义成字符串形式比如下面:

xmlrpc\_value \*wpGetPostArgumentsP = xmlrpc\_array\_new(&env);
dieIfFaultOccured(&env);

xmlrpc\_value \*argumentP = xmlrpc\_string\_new(&env, blogId);
dieIfFaultOccured(&env);
xmlrpc\_array\_append\_item(&env, wpGetPostArgumentsP, argumentP);
dieIfFaultOccured(&env);

argumentP = xmlrpc\_string\_new(&env, user);
dieIfFaultOccured(&env);
xmlrpc\_array\_append\_item(&env, wpGetPostArgumentsP, argumentP);
dieIfFaultOccured(&env);

argumentP = xmlrpc\_string\_new(&env, password);
dieIfFaultOccured(&env);
xmlrpc\_array\_append\_item(&env, wpGetPostArgumentsP, argumentP);
dieIfFaultOccured(&env);

argumentP = xmlrpc\_string\_new(&env, postId);
dieIfFaultOccured(&env);
xmlrpc\_array\_append\_item(&env, wpGetPostArgumentsP, argumentP);
dieIfFaultOccured(&env);

2017-10-30 wordpress 的 xmlrpc 的 api (wp.getPost) 有误
https://www.supermew.top/2017/10/30/wordpress-的-xmlrpc-的-api-wp-getpost-有误/
作者
八月
发布于
2017年10月30日
许可协议