Drupal Services模块入门教程

Services模块为Drupal站点提供了实现Web服务的能力。

Services很流行,可以同REST, XMLRPC, JSON以及SOAP协同工作。

然而,在上星期的一次培训中,当被问到Services的问题时,我意识到,问题产生的原因在于——这个模块几乎没有清晰的可用的文档。

所以我决定写一篇Services模块的入门教程。

下面就是利用Services为Drupal站点建立REST API的五个步骤:

1. 安装

基础的REST API需要三个模块的支持:

如果你要为API添加认证支持,那么还需要添加一个模块,例如OAuth

你可能需要做一件无聊的事情:测试这几个模块的不同版本。我在Drupal.org上找到一篇文章,其中提到需要用部分旧版本的模块,来避免一些bug。

当你启用这些模块后,需要选择服务器的类型。除了REST和XMLRPC之外的其他服务模块例如SOAP,需要在Drupal.org上获得。

Servers

2. 创建Server

  • 进入 Structure > Services

  • 点击 Add

  • 输入机读名称。

  • 选择服务器

  • 输入服务端点路径(Path to endpoint),这一路径会变成这个Server的URL的一部分。

  • 保存

Server Set-up

  • 点击 Edit Resources

  • 这里可以编辑Server的各种配置项目

Edit Resource

3. 服务器配置

  • Server Tab页面让你可以为Server选择(响应)格式以及(请求的)解析器类型。

settings

认证(Authentication) Tab让你可以对Server进行访问控制,下面以OAuth举例说明:

  • 安装OAuth

  • 导航至 Configuration > OAuth > Add Context

  • 设置OAuth连接的详细信息

  • 进入Structure > Services > Edit Resources

  • 检查OAuth的认证框:

auth box

  • 点击认证Tab(Authentication)

  • 选择OAuth上下文(Context)

OAuth Context

最后,资源Tab允许你控制服务器的功能范围。本例中,我们要确定按下图进行选择。

selection

4. 创建视图

  • 进入 Structure > Views > Add New View

  • 创建一个视图,只使用Block模式:

new view

  • 点击继续,编辑

  • 在views顶部点击Add,添加Servies。

add services

你会看到一条消息:Display "Services" uses a path but the path is undefined.(显示Services需要使用的路径未经定义)

  • 点击Path右边的斜线进行编辑,来解决这一问题

path1

  • 输入路径,例如”myrestapi”:

path2

  • 查看预览。

  • 保存View。

review

然后你就可以利用Views的功能对其进行定制了。

5. 查看Server

最后一步就是查看Server的输出。没有自动提供的连接,只能通过下面的网址来查看:

    /path-to-endpoint/views/view-machine-name/

在我的例子中是这样定义的:

  • path-to-endpoint:我在第二部分中设置为“myrestapi”.

  • view-machine-name:我给这个view命名为”myrestapi”,可以通过编辑view并查看URL来确定网址的唯一性。

所以,访问我的Server的URL: /myrestapi/views/myrestapi/

下面是返回内容:

xml

##更多内容

Drupal.org上最好的文档,相较本文来说,提供了更多细节,这篇文章也是Services文档的一部分.

如果你希望使用REST API导入数据,我找到的最好教程拱你参考。

Youtube上还提供了一个很好的视频:

https://www.youtube.com/watch?v=xxWWq4wwqp4

Avatar
崔秀龙

简单,是大师的责任;我们凡夫俗子,能做到清楚就很不容易了。

comments powered by Disqus
下一页
上一页

相关