• XML-RPC 简单理解与博客园的MetaWeblog协议


    参考资料:

    https://zh.wikipedia.org/wiki/XML-RPC
    http://www.cnblogs.com/services/metablogapi.aspx


    主要程序接口(来自博客园):

    blogger.deletePost —— 删除文章

    blogger.getUsersBlogs —— 获取用户博客信息

    metaWeblog.editPost —— 编辑文章

    metaWeblog.getCategories —— 获取用户博客分类

    metaWeblog.getPost —— 获取文章

    metaWeblog.getRecentPosts —— 获取最近的文章

    metaWeblog.newMediaObject —— 添加媒体对象(图片等)

    metaWeblog.newPost —— 添加文章

    wp.newCategory —— 添加目录

    接口说明


    blogger.deletePost

    请求

    <?xml version="1.0"?>
    <methodCall>
      <methodName>blogger.deletePost</methodName>
      <params>
        <param>
            <value><string>appkey</string></value>
        </param>
        <param>
            <value><string>postid</string></value>
        </param>
        <param>
            <value><string>username</string></value>
        </param>
        <param>
            <value><string>password</string></value>
        </param>
        <param>
            <value><boolean>0</boolean></value>
        </param>
      </params>
    </methodCall>
    

    返回

    <?xml version="1.0"?>
    <methodResponse>
        <params>
            <param>
                <value>
                    <boolean>1</boolean>
                </value>
            </param>
        </params>
    </methodResponse>
    

    blogger.getUsersBlogs

    请求

    <?xml version="1.0"?>
    <methodCall>
      <methodName>blogger.getUsersBlogs</methodName>
      <params>
        <param>
            <value><string>appkey</string></value>
        </param>
        <param>
            <value><string>username</string></value>
        </param>
        <param>
            <value><string>password</string></value>
        </param>
      </params>
    </methodCall>
    

    返回

    <?xml version="1.0"?>
    <methodResponse>
        <params>
            <param>
                <value>
                    <array>
                        <data>
                            <value>
                                <struct>
                                    <member>
                                        <name>blogid</name>
                                        <value>
                                            <string>dsafds</string>
                                        </value>
                                    </member>
                                    <member>
                                        <name>url</name>
                                        <value>
                                            <string>http://www.cnblogs.com/caipeiyu/</string>
                                        </value>
                                    </member>
                                    <member>
                                        <name>blogName</name>
                                        <value>
                                            <string>蛀牙</string>
                                        </value>
                                    </member>
                                </struct>
                            </value>
                        </data>
                    </array>
                </value>
            </param>
        </params>
    </methodResponse>
    

    metaWeblog.editPost

    请求

    返回


    metaWeblog.getCategories

    请求

    返回


    metaWeblog.getPost
    请求

    <?xml version="1.0"?>
        <methodCall>
          <methodName>blogger.getUsersBlogs</methodName>
          <params>
            <param>
                <value><string>postid</string></value>
            </param>
            <param>
                <value><string>username</string></value>
            </param>
            <param>
                <value><string>password</string></value>
            </param>
          </params>
    </methodCall>
    

    返回

    <?xml version="1.0"?>
    <methodResponse>
        <params>
            <param>
                <value>
                    <struct>
                        <member>
                            <name>dateCreated</name>
                            <value>
                                <dateTime.iso8601>时间</dateTime.iso8601>
                            </value>
                        </member>
                        <member>
                            <name>description</name>
                            <value>
                                <string>博客内容</string>
                            </value>
                        </member>
                        <member>
                            <name>title</name>
                            <value>
                                <string>标题内容</string>
                            </value>
                        </member>
                        <member>
                            <name>categories</name>
                            <value>
                                <array>
                                    <data>
                                        <value>
                                            <string>[Markdown]</string>
                                        </value>
                                    </data>
                                </array>
                            </value>
                        </member>
                        <member>
                            <name>enclosure</name>
                            <value>
                                <struct>
                                    <member>
                                        <name>length</name>
                                        <value>
                                            <i4>0</i4>
                                        </value>
                                    </member>
                                </struct>         
                            </value>
                        </member>
                        <member>
                            <name>link</name>
                            <value>
                                <string>http://.html</string>
                            </value>
                        </member>
                        <member>
                            <name>permalink</name>
                            <value>
                                <string>http://.html</string>
                            </value>
                        </member>
                        <member>
                            <name>postid</name>
                            <value>
                                <i4>00000</i4>
                            </value>
                        </member>
                        <member>
                            <name>source</name>
                            <value>
                                <struct />
                            </value>
                        </member>
                        <member>
                            <name>mt_keywords</name>
                            <value>
                                <string />
                            </value>
                        </member>
                    </struct> 
                </value>
            </param>
        </params>
    </methodResponse>
    

    metaWeblog.getRecentPosts

    请求

    <?xml version="1.0"?>
    <methodCall>
      <methodName>metaWeblog.getRecentPosts</methodName>
      <params>
        <param>
            <value><string>000000</string></value>
        </param>
        <param>
            <value><string>username</string></value>
        </param>
        <param>
            <value><string>password</string></value>
        </param>
        
        <param>
            <value><i4>10</i4></value>
        </param>
      </params>
    </methodCall>
    

    返回

    <?xml version="1.0"?>
    <methodResponse>
        <params>
            <param>
                <value>
                    <array>
                        <data>
                            <value>
                                <struct>
                                    <member>
                                        <name>dateCreated</name>
                                        <value>
                                            <dateTime.iso8601>20160405T18:32:00</dateTime.iso8601>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>description</name>
                                        <value>
                                            <string>博客测试内容</string>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>title</name>
                                        <value>
                                            <string>标题测试内容</string>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>enclosure</name>
                                        <value>
                                            <struct>
                                                <member>
                                                    <name>length</name>
                                                    <value>
                                                        <i4>0</i4>
                            
                                                    </value>
                          
                                                </member>
                        
                                            </struct>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>link</name>
                                        <value>
                                            <string>http://www.cnblogs.com/caipeiyu/p/5356274.html</string>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>permalink</name>
                                        <value>
                                            <string>http://www.cnblogs.com/caipeiyu/p/5356274.html</string>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>postid</name>
                                        <value>
                                            <string>5356274</string>
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>source</name>
                                        <value>
                                            <struct />
                      
                                        </value>
                    
                                    </member>
                                    <member>
                                        <name>userid</name>
                                        <value>
                                            <string>-2</string>
                      
                                        </value>
                    
                                    </member>
                  
                                </struct>
                
                            </value>
    
              
                        </data>
            
                    </array>
          
                </value>
        
            </param>
      
        </params>
    
    </methodResponse>   
    

    metaWeblog.newMediaObject

    请求

    返回


    metaWeblog.newPost

    请求
    这个请求内容标题和内容是必须的,其他可以选填

    <?xml version="1.0"?>
    <methodCall>
      <methodName>metaWeblog.newPost</methodName>
      <params>
        <param>
            <value><string>postid</string></value>
        </param>
        <param>
            <value><string>username</string></value>
        </param>
        <param>
            <value><string>password</string></value>
        </param>
        <param>
             <value>
                    <struct>
                        <member>
                            <name>description</name>
                            <value>
                                <string>博客测试内容</string>
                            </value>
                        </member>
                        <member>
                            <name>title</name>
                            <value>
                                <string>标题测试内容</string>
                            </value>
                        </member>
                        <member>
                            <name>categories</name>
                            <value>
                                <array>
                                    <data>
                                        <value>
                                            <string>[Markdown]</string>
                                        </value>
                                    </data>
                                </array>
                            </value>
                        </member>
                    </struct> 
                </value>
        </param>
        <param>
            <value><boolean>0</boolean></value>
        </param>
      </params>
    </methodCall>
    

    返回

    <?xml version="1.0"?>
    <methodResponse>
        <params>
            <param>
                <value>
                    <string>000000</string>
                </value>
            </param>
        </params>
    </methodResponse>
    

    wp.newCategory

    请求

    返回

    作者:健康的蛀牙
    出处:http://www.cnblogs.com/caipeiyu/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    MYSQL GDB 崩溃调试
    MYSQL GDB SHELL
    OOW 2015 MYSQL
    DTCC:MySQl核心代码开发经验揭示
    东东糖博客MYSQL
    perf 函数调用性能(函数流程图)
    Percona-Toolkit学习之安装和配置
    Upgrading Directly from MySQL 5.0 to 5.7 using an ‘In Place’ Upgrade
    在线遥感影像与地图集数据下载搜集
    墨卡托投影、高斯-克吕格投影、UTM投影及我国分带方法
  • 原文地址:https://www.cnblogs.com/caipeiyu/p/5354341.html
Copyright © 2020-2023  润新知