del.icio.us 有一个 "daily blog posting" 的功能,就是通过 blogapi,每天某个时间自动把内容发表到 blog 上。如果要在 Drupal 站点上启用,步骤如下
1. enable blogapi module
2. 配置 blogapi(admin/settings/blogapi),使之支持 blog 类型的发布
3. Drupal 对 blogapi 的支持和 del.icio.us 不太一样,主要是对 XMLRPC 的数据类型申明不同,需要修改 modules/blogapi/blogapi.module:
3.1 找到 metaWeblog.newPost,把它下面第二行的
array('string', 'string', 'string', 'string', 'struct', 'boolean'),改成
array('string', 'int', 'string', 'string', 'struct', 'int'),3.2 找到 mt.setPostCategories,把它下面第二行的
array('boolean', 'string', 'string', 'string', 'array'),改成
array('boolean', 'int', 'string', 'string', 'array'),4. 设置 del.icio.us:
4.1 out_name 和 out_pass 就是用户名和密码
4.2 out_url 是 http://yoursite/xmlrpc.php
4.3 out_time 随便设,我用的是 0,这样每天早晨 8 点自动 post
4.4 out_blog_id 我用 1 (虽然我在 Drupal 里面的 userid 是 3)
4.5 out_cat_id 我就是为其创建了一个专门的 taxonomy/term 的 id
进一步的技术细节:
我发现在启用 blogapi 后,首页里面的 head 标签内就自动增加了一个 type 是 "application/rsd+xml" 的 link 标签,地址是 "http://www.dup2.org/blogapi/rsd",这样支持 blogapi 的软件,比如 MS 的 Live Writer,就可以从中获得该站点支持的 API 类型。
如果不做 hack,del.icio.us 传递的参数将无法被正确识别,会报一个"服务器错误。无效的方法参数" (server error. invalid method parameters)

本站的feed
最新评论