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)
最新评论