博客园Meta Weblog API增强建议

Windows Live Writer默认支持Meta Weblog API,所以我们可以用它在博客园中发布/修改/删除文章。不过博客园在发帖时提供了很多附加功能,其中最常用的有“发表至我的团队”和“以摘要方式发布”两项,而这些“非标准”功能Windows Live Writer却不能支持,让我们不得不每次发表之后还要登录Web界面修改一番。

为了解决这个不便之处,我建议博客园可以添加getPostMisc和setPostMisc两个API,用来取得/更新某篇帖子的这部分附加信息,请dudu酌情考虑。然后借助于Windows Live Writer提供的插件功能,我可以开发出与其集成的客户端部分,方便各位Blogger。

目前我只写了“团队”和“摘要”两部分,朋友们若有什么建议,或还需要什么附加功能,也请回复说明。谢谢!

 

cnblogs.getPostMisc

HTTP请求示例

<?xml version="1.0" encoding="utf-8"?>
<methodCall>
  <methodName>cnblogs.getPostMisc</methodName>
  <params>
    <param>
      <value>
        <string>[post_id]</string>
      </value>
    </param>
    <param>
      <value>
        <string>[username]</string>
      </value>
    </param>
    <param>
      <value>
        <string>[password]</string>
      </value>
    </param>
  </params>
</methodCall>

 

HTTP响应示例

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <!--我的团队部分-->
            <name>UserGroup</name>
            <value>
              <array>
                <!--团队数组-->
                <data>
                  <!--第一个团队-->
                  <value>
                    <struct>
                      <!--团队ID-->
                      <member>
                        <name>ID</name>
                        <value>
                          <string>[user group id]</string>
                        </value>
                      </member>
                      <!--团队名称-->
                      <member>
                        <name>Name</name>
                        <value>
                          <string>[user group name]</string>
                        </value>
                      </member>
                      <!--是否发表至该团队-->
                      <member>
                        <name>Selected</name>
                        <value>
                          <string>[post to this user group?]</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <!--第二个团队-->
                  <!--第N个团队……-->
                </data>
              </array>
            </value>
          </member>
          <member>
            <!--摘要部分-->
            <name>Summary</name>
            <value>
              <struct>
                <!--摘要内容-->
                <member>
                  <name>Content</name>
                  <value>
                    <string>[summary content]</string>
                  </value>
                </member>
                <!--是否以摘要方式发布-->
                <member>
                  <name>Enabled</name>
                  <value>
                    <string>[true|false]</string>
                  </value>
                </member>
              </struct>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

 

cnblogs.setPostMisc

HTTP请求示例

<?xml version="1.0" encoding="utf-8"?>
<methodCall>
  <methodName>cnblogs.setPostMisc</methodName>
  <params>
    <param>
      <value>
        <string>[post_id]</string>
      </value>
    </param>
    <param>
      <value>
        <string>[username]</string>
      </value>
    </param>
    <param>
      <value>
        <string>[password]</string>
      </value>
    </param>
    <param>
      <value>
        <struct>
          <member>
            <!--我的团队部分-->
            <name>UserGroup</name>
            <value>
              <array>
                <!--团队数组-->
                <data>
                  <!--第一个团队-->
                  <value>
                    <struct>
                      <!--团队ID-->
                      <member>
                        <name>ID</name>
                        <value>
                          <string>[user group id]</string>
                        </value>
                      </member>
                      <!--团队名称-->
                      <member>
                        <name>Name</name>
                        <value>
                          <string>[user group name]</string>
                        </value>
                      </member>
                      <!--是否发表至该团队-->
                      <member>
                        <name>Selected</name>
                        <value>
                          <string>[post to this user group?]</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <!--第二个团队-->
                  <!--第N个团队……-->
                </data>
              </array>
            </value>
          </member>
          <member>
            <!--摘要部分-->
            <name>Summary</name>
            <value>
              <struct>
                <!--摘要内容-->
                <member>
                  <name>Content</name>
                  <value>
                    <string>[summary content]</string>
                  </value>
                </member>
                <!--是否以摘要方式发布-->
                <member>
                  <name>Enabled</name>
                  <value>
                    <string>[true|false]</string>
                  </value>
                </member>
              </struct>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

 

HTTP响应示例

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <!--是否成功-->
      <value>
        <string>[true|false]</string>
      </value>
    </param>
  </params>
</methodResponse>
posted on 2007-03-19 02:29  Dflying Chen  阅读(4813)  评论(7编辑  收藏  举报