Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Odata Client

2 sites Security covered
View on drupal.org

This module allows Drupal to connect to OData servers, enabling integration with services like Microsoft Dynamics CRM. It provides functionality to manage connections, query data, and interact with OData collections directly from Drupal.

Introduction

OData client implements configuration entity for OData servers, IO functions to OData collections and Drupal format OdataQuery object.

This module makes it possible to integrate Drupal with e.g. Microsoft Dynamics CRM.

Requirements

The module requires the following libraries:
saintsystems/odata-client: ^0.2.4
league/oauth2-client: ^2.4
thenetworg/oauth2-azure: ^1.4

Installation

Install as you would normally install a contributed Drupal module. Visit:
https://www.drupal.org/documentation/install/modules-themes/modules-8
for further information.

Configuration

Go to /admin/structure/odata_server and create new server configuration

Usage

After made a server configuration name default able to connect to server:

$odata_client = \Drupal::service('odata_client.io');
$odata_client->connect('default');

Change collection:

In configuration can define the default collection but may to change it:
$odata_client->setCollection('People');

Find an element by key:

Return the data of element key ‘russellwhyte’:
$result = $odata_client->find('russellwhyte');

Count elements in collection:

Return elements count the collection:
$result = $odata_client->count();

Create new element:

Create new element in collection:

$data = array (
  'UserName' => 'teresa',
  'FirstName' => 'Teresa',
  'LastName' => 'Gilbert',
  'Gender' => 'Female',
  'Emails' => 
  array (
    0 => '[email protected]',
    1 => '[email protected]',
  ),
  'AddressInfo' => 
  array (
    0 => 
    array (
      'Address' => '1 Suffolk Ln.',
      'City' => 
      array (
        'CountryRegion' => 'United States',
        'Name' => 'Boise',
        'Region' => 'ID',
      ),
    ),
  ),
);
$result = $odata_client->post($data);

Get data from collection:

Return max 4 elements FirstName and LastName columns where FirstName is Teresa, sort by LastName descending:

$query = \Drupal::service('odata_client.query');
$query->connect('default')
    ->fields(['FirstName','LastName'])
    ->condition('FirstName', 'Teresa')
    ->orderBy('LastName', 'desc');
    ->range(0, 4);
$result = $query->execute();

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Mar 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
3.1.0-alpha2 Pre-release 9–11 Mar 17, 2025