Modul layanan mudah digunakan, tetapi sulit untuk mengonfigurasinya terutama jika Anda baru mengenal konsep tersebut. Jadi, saya akan memposting tangkapan layar untuk membuat konfigurasi modul Layanan mudah bagi pengguna "Jawaban Drupal".
Berikut ini adalah versi modul Layanan yang diinstal pada mesin saya:
Buat titik akhir yang disebut 'istirahat' seperti yang ditunjukkan di bawah ini:
Pilih jenis server dan jalur titik akhir:
Pilih daftar sumber daya yang ingin Anda aktifkan dan tentukan alias:
Pilih format respons dan minta parser yang ingin Anda aktifkan:
Anda dapat menguji konfigurasi Anda seperti yang ditunjukkan di bawah ini:
Anda bisa mendapatkan daftar semua simpul seperti di bawah ini:
Dan simpul spesifik sebagai:
Berikut ini adalah contoh skrip yang disediakan oleh MichaelCole di sini http://drupal.org/node/910598#comment-4677738 untuk membuat node dari aplikasi PHP eksternal apa pun.
Saya menduplikasi kodenya untuk kelengkapan jawaban ini.
//--------------login to the server------------------------
$service_url = 'http://example.dev/rest/user/login.xml'; // .xml asks for xml data in response
$post_data = array(
'username' => 'test',
'password' => 'test',
);
$post_data = http_build_query($post_data, '', '&'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // have curl_exec return a string
curl_setopt($curl, CURLOPT_POST, true); // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGIN RESPONSE:\n";
var_dump($response);
// parse the response
$xml = new SimpleXMLElement($response);
$session_cookie = $xml->session_name . '=' . $xml->sessid;
// print "SESSION_COOKIE: $session_cookie";
file_put_contents('session_cookie.txt', $session_cookie);
//----------------create a node -------------------------------
$node_data = array(
'type' => 'ct_metadata_core',
'title' => 'test layer',
'field_core_lat_n[und][0]' => array('value' => '90'),
'field_core_lat_s[und][0]' => array('value' => '-90'),
'field_core_long_e[und][0]' => array('value' => '180'),
'field_core_long_w[und][0]' => array('value' => '-180'),
'field_core_description[und][0]' => array('value' => 'National Data Buoy Center'),
'field_core_originator[und][0]' => array('value' => 'NDBC'),
'field_core_url[und][0]' => array('url' => 'http://www.ndbc.noaa.gov/kml/marineobs_as_kml.php?sort=pgm'),
'field_cont_res_name_org[und][0]' => array('value' => 'test'),
);
$service_url = 'http://example.dev/rest/node'; // .xml asks for xml data in response
$session_cookie = file_get_contents('session_cookie.txt');
$node_data = http_build_query($node_data, '', '&'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // have curl_exec return a string
curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session
curl_setopt($curl, CURLOPT_POST, true); // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $node_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "CREATE NODE RESPONSE:\n";
var_dump($response);
//----------------logout from the server-------------------------
$service_url = 'http://example.dev/rest/user/logout';
$session_cookie = file_get_contents('session_cookie.txt');
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // have curl_exec return a string
curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session
curl_setopt($curl, CURLOPT_POST, true); // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, ""); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGOUT RESPONSE:\n";
var_dump($response);