php xml-rpc:使用metaWeblog.newPost将博客发布到drupal时出错

时间:2011-10-06 10:10:16

标签: php drupal xml-rpc blogger metaweblog

我尝试使用xml-rpc将简单的博客帖子发布到drupal站点。我使用IXR_Library。

这是我使用metaWeblog.newPost的示例代码:

$url = 'http://drupalpage.de/xmlrpc.php';
$user = 'drupaluser';
$pass = 'drupalpass';

$post = array(
            'title' => 'New Title'
            'description' => 'Some content…'
);

$IXR = new IXR_Client($url);

$status = $IXR->query('metaWeblog.newPost', 
'1',
            $user,
            $pass,
            $post,
            true
        );

当我调用此脚本时,我从drupal获得以下返回:

[params] => Array
                (
                    [0] => Array
                        (
                            [faultCode] => 1
                            [faultString] => Entweder versuchten Sie einen fremden Blog zu editieren oder Sie haben keine Berechtigung Ihren eigenen Blog zu editieren.
                        )

                )

我不知道为什么我从drupal系统获得这个“许可通知”。我可以使用变量$ user / $ pass中的值完全登录系统。

更多信息:当我调用'system.listMethods'时,我得到以下回复:

[0] => Array
(
    [0] => system.multicall
    [1] => system.methodSignature
    [2] => system.getCapabilities
    [3] => system.listMethods
    [4] => system.methodHelp
    [5] => blogger.getUsersBlogs
    [6] => blogger.getUserInfo
    [7] => blogger.newPost
    [8] => blogger.editPost
    [9] => blogger.getPost
    [10] => blogger.deletePost
    [11] => blogger.getRecentPosts
    [12] => metaWeblog.newPost
    [13] => metaWeblog.editPost
    [14] => metaWeblog.getPost
    [15] => metaWeblog.newMediaObject
    [16] => metaWeblog.getCategories
    [17] => metaWeblog.getRecentPosts
    [18] => mt.getRecentPostTitles
    [19] => mt.getCategoryList
    [20] => mt.getPostCategories
    [21] => mt.setPostCategories
    [22] => mt.supportedMethods
    [23] => mt.supportedTextFilters
    [24] => mt.getTrackbackPings
    [25] => mt.publishPost
)

当我调用'metaWeblog.getCategories'时,我会得到一个正确的返回数组,其中包含来自drupal系统的类别。

我尝试了很多其他变种来解决我的问题。但当我打电话给'blogger.getUsersBlogs'或'blogger.getUserInfo'时,我会得到相同的许可通知。

有谁知道我做错了什么?

0 个答案:

没有答案