<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Drupal%2FC4%2FRESTful-API-Implementation%2FEnglish-timed</id>
		<title>Drupal/C4/RESTful-API-Implementation/English-timed - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Drupal%2FC4%2FRESTful-API-Implementation%2FEnglish-timed"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Drupal/C4/RESTful-API-Implementation/English-timed&amp;action=history"/>
		<updated>2026-04-16T13:20:47Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Drupal/C4/RESTful-API-Implementation/English-timed&amp;diff=43536&amp;oldid=prev</id>
		<title>PoojaMoolya: Created page with &quot; {| border =1 | &lt;center&gt;Time&lt;/center&gt; | &lt;center&gt;Narration&lt;/center&gt;  |- | 00:01 | Welcome to the spoken tutorial on''' RESTful API Implementation'''.  |- | 00:06 | In this tuto...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Drupal/C4/RESTful-API-Implementation/English-timed&amp;diff=43536&amp;oldid=prev"/>
				<updated>2018-06-25T11:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; {| border =1 | &amp;lt;center&amp;gt;Time&amp;lt;/center&amp;gt; | &amp;lt;center&amp;gt;Narration&amp;lt;/center&amp;gt;  |- | 00:01 | Welcome to the spoken tutorial on&amp;#039;&amp;#039;&amp;#039; RESTful API Implementation&amp;#039;&amp;#039;&amp;#039;.  |- | 00:06 | In this tuto...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| border =1&lt;br /&gt;
| &amp;lt;center&amp;gt;Time&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;Narration&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:01&lt;br /&gt;
| Welcome to the spoken tutorial on''' RESTful API Implementation'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:06&lt;br /&gt;
| In this tutorial, we will  Understand what is '''RESTful API'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:11&lt;br /&gt;
|  Learn to implement '''RESTful API '''using '''Views'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:16&lt;br /&gt;
| To record this tutorial, I am using  '''Ubuntu Linux 16.04''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:22&lt;br /&gt;
|  '''Drupal 8 '''and  '''Firefox web browser'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:25&lt;br /&gt;
| You can use any web browser as per your choice. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:29&lt;br /&gt;
| To practise this tutorial, you should have basic knowledge of''' Drupal'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:34&lt;br /&gt;
| If not, for relevant''' Drupal''' tutorials, please visit the link shown.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:40&lt;br /&gt;
| You should also have a working '''Internet''' connection.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:44&lt;br /&gt;
| What is '''RESTful API? '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:47&lt;br /&gt;
|  '''RESTful API '''is based on''' REpresentational State Transfer (i.e REST) '''technology.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 00:55&lt;br /&gt;
|  It is also referred to as a '''RESTful web service'''.&lt;br /&gt;
|-&lt;br /&gt;
| 01:00&lt;br /&gt;
| '''RESTful API''' provides methods to external '''clients''' to fetch, add or modify data on the '''server'''. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:08&lt;br /&gt;
| For example:  Using the same '''server''', we can do a bank transaction either using a mobile app or desktop website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:17&lt;br /&gt;
| '''RESTful API''' is a general purpose '''API'''. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:20&lt;br /&gt;
| So any application, such as  another website,  native '''mobile apps''' and  '''IoT devices'''  can exchange data with your '''server'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:31&lt;br /&gt;
| Let us learn the '''RESTful API implementation process''' step by step.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:37&lt;br /&gt;
| The following steps are applicable to '''Bitnami Drupal Stack'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:41&lt;br /&gt;
| But most of the steps are applicable to any other '''Drupal''' installation, as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:47&lt;br /&gt;
| '''Step No. 1'''&lt;br /&gt;
&lt;br /&gt;
First we will open our '''Drupal8 site''' and install the required '''core modules.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:55&lt;br /&gt;
| To do so, go to the '''Extend''' tab.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 01:59&lt;br /&gt;
| Scroll down and go to the '''WEB SERVICES '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:03&lt;br /&gt;
| Put a check mark on the following modules: '''HAL, HTTP Basic Authentication, RESTful Web Services '''and''' Serialization.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:15&lt;br /&gt;
| Then click on the '''Install''' button at the bottom, to enable them.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:20&lt;br /&gt;
| We will also need to install the '''REST UI module''' manually.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:25&lt;br /&gt;
| I have already installed and enabled it in my machine.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:29&lt;br /&gt;
| To know how to install a '''module''', go through the '''Creating Dummy Content''' tutorial in this series.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:37&lt;br /&gt;
| '''Step No. 2'''&lt;br /&gt;
&lt;br /&gt;
Next we will configure the '''REST resources''' to accept the requests from a '''REST client'''. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:45&lt;br /&gt;
| To do so, go to the '''Configuration''' tab. Click on '''REST '''under '''WEB SERVICES'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:52&lt;br /&gt;
| The '''REST resources''' page appears now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 02:55&lt;br /&gt;
| We will restrict the '''formats''' by clicking on the '''Edit''' button of '''Content'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:01&lt;br /&gt;
| Scroll down. Under '''Accepted request formats, '''put a check mark on the '''json.''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:08&lt;br /&gt;
| Click on the '''Save configuration''' button at the bottom to save it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:13&lt;br /&gt;
| Now our '''Drupal site''' will accept the '''json format requests''' from a '''REST client'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:19&lt;br /&gt;
| '''Step No. 3'''&lt;br /&gt;
&lt;br /&gt;
Next we need to set the proper permissions for '''authenticated users'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:26&lt;br /&gt;
| In general, there are three kind of '''users''' that can use '''RESTful API'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:32&lt;br /&gt;
| '''anonymous user'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:34&lt;br /&gt;
|  '''authenticated user''' and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:36&lt;br /&gt;
| '''authenticated users''' with permission to modify content&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:41&lt;br /&gt;
| Now, we will setup our '''Drupal''' for an '''authenticated user''' who can create, edit, and delete their own contents.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:50&lt;br /&gt;
| To do so, go to '''People''' tab.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:53&lt;br /&gt;
| Click on the '''Permissions '''tab.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 03:57&lt;br /&gt;
| Scroll down and for '''AUTHENTICATED USER''', put a checkmark on   '''Basic Page: Create new content'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:04&lt;br /&gt;
|  '''Basic Page: Delete own content '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:07&lt;br /&gt;
|  '''Basic Page: Edit own content '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:10&lt;br /&gt;
| Click on the '''Save permissions''' button at the bottom.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:13&lt;br /&gt;
| I have enabled the '''authenticated users''' to create, edit and delete their own content.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:20&lt;br /&gt;
| You can give '''permissions''' based on your requirements.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:24&lt;br /&gt;
| '''Step No. 4'''&lt;br /&gt;
&lt;br /&gt;
Now we need a '''content type''' on which we want to implement the '''RESTful API'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:32&lt;br /&gt;
| Go to '''Structure''' tab and click on the '''Content types'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:37&lt;br /&gt;
| I will use the '''Events content type''' to implement the '''RESTful API'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:42&lt;br /&gt;
| You can use any '''content type''' as per your requirement.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:47&lt;br /&gt;
| '''Step No. 5'''&lt;br /&gt;
&lt;br /&gt;
Now we need a '''View''' for our '''Events content type'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04:53&lt;br /&gt;
| To know about '''Views''', go through the tutorial '''Displaying Contents using Views '''of this series.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:00&lt;br /&gt;
| To create a new '''view, '''go to '''Structure '''and '''Views'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:06&lt;br /&gt;
| Click '''Add view''' and let’s name it as '''Events underscore view.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:12&lt;br /&gt;
| Change the '''content of type''' from '''All''' to '''Events.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:17&lt;br /&gt;
| Under '''REST EXPORT SETTINGS''', check '''Provide a REST export'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:22&lt;br /&gt;
| We will type the '''REST export path''' as '''events'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:27&lt;br /&gt;
| Click '''Save and edit''' button at the bottom. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:30&lt;br /&gt;
| Now we will set up the display of our events.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:34&lt;br /&gt;
| Under '''FORMAT '''section, in the '''Show '''option, click on the '''Entity'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:39&lt;br /&gt;
| In the '''REST export''' dialog box that appears, choose '''Fields''' option.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:45&lt;br /&gt;
| Click on the '''Apply''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:47&lt;br /&gt;
| In the '''Row style options''' dialog box, keep the settings as it is.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:53&lt;br /&gt;
| Then click on the '''Apply''' button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05:55&lt;br /&gt;
| This will enable us to add '''fields''' to our '''view'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:00&lt;br /&gt;
| Now we can add all the '''fields''' of our '''Events content type.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:04&lt;br /&gt;
| Click on the '''Add''' button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:06&lt;br /&gt;
| This brings up the list of available '''fields'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:10&lt;br /&gt;
| In the '''Search''' box, type '''body'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:13&lt;br /&gt;
| Choose '''Body''' from the list, then click on the''' Add and configure fields''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:20&lt;br /&gt;
| Click on the '''Apply''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:22&lt;br /&gt;
| Again click on the '''Add''' button to add another field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:27&lt;br /&gt;
| Search for '''id''' and choose '''ID''' from the list. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:32&lt;br /&gt;
| Click on the '''Add and configure fields '''button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:36&lt;br /&gt;
| Then click on the '''Apply''' button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:38&lt;br /&gt;
| Under '''PATH SETTINGS''', we can see the path of our '''events view'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:43&lt;br /&gt;
| We will click on the '''Save''' button to save this '''view'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:47&lt;br /&gt;
| '''Step No. 6'''&lt;br /&gt;
&lt;br /&gt;
Next we will create a new '''view''' to retrieve the data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:54&lt;br /&gt;
| Click on the '''Add''' button in the '''Displays''' panel.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06:59&lt;br /&gt;
| Select '''REST export''' option.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:02&lt;br /&gt;
| Now let us configure this new '''view'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:05&lt;br /&gt;
| Under '''FORMAT '''section, click on the '''Entity'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:09&lt;br /&gt;
| Choose '''Fields''' option and click on the '''Apply''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:14&lt;br /&gt;
| Check all the '''fields''' that we want in our '''content type.'''&lt;br /&gt;
&lt;br /&gt;
And click on the '''Apply''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:20&lt;br /&gt;
| Here you can see that our required '''fields''' are added now. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:25&lt;br /&gt;
| Under '''PATH SETTINGS''', we will set the path by clicking on the '''No path is set''' link.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:31&lt;br /&gt;
| In the '''Path''' field, type '''events slash percentage sign.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:37&lt;br /&gt;
| '''Percentage''' sign is used to represent values that will be used for the '''contextual filter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:44&lt;br /&gt;
| Click on the '''Apply''' button at the bottom.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:47&lt;br /&gt;
| Now, in the right hand side, click on the '''ADVANCED '''option.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07:51&lt;br /&gt;
| Under '''CONTEXTUAL FILTERS''', click on the '''Add''' button.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|07:56&lt;br /&gt;
| We will add an '''ID''' for the '''contextual filter '''to refer our '''node'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:00&lt;br /&gt;
| Search for '''id''' and choose the '''ID''' from the list.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:05&lt;br /&gt;
| Click on the '''Apply''' button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:07&lt;br /&gt;
| Keep the other settings as it is.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:10&lt;br /&gt;
| Then click on the '''Apply''' button. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:13&lt;br /&gt;
| Click on the '''Save''' button to save this configuration.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:17&lt;br /&gt;
| With this, we have successfully implemented the '''RESTful API''' in our '''Drupal''' site using '''Views'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:24&lt;br /&gt;
| Later in the series, we will learn how to check our '''RESTful API''' using a '''REST Client'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:31&lt;br /&gt;
| With this, we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:34&lt;br /&gt;
| Let us summarize. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:36&lt;br /&gt;
| In this tutorial, we have learnt about-  '''RESTful API '''and  Implementation of '''RESTful API''' using '''Views'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:45&lt;br /&gt;
| As an assignment - Implement the '''RESTful API '''on the '''Article content type'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:51&lt;br /&gt;
| The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08:58&lt;br /&gt;
| The Spoken Tutorial Project Team conducts workshops and gives certificates to those who pass online tests.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 09:09&lt;br /&gt;
| Spoken Tutorial Project is funded by  NMEICT, Ministry of Human Resource Development and NVLI, Ministry of Culture Government of India.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 09:19&lt;br /&gt;
| This tutorial is contributed by Vishal Jindal.&lt;br /&gt;
&lt;br /&gt;
This is Priya from IIT Bombay signing off. Thanks for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PoojaMoolya</name></author>	</entry>

	</feed>