SharePoint Online Connector
Documentation
Version: 13
Documentation

How to read SharePoint Online data in ODBC application?


In this section we will learn how to configure and use SharePoint Online Connector in the API Driver to extract data from the SharePoint Online.

Create ODBC Data Source (DSN) based on ZappySys API Driver

Step-by-step instructions

To get data from using we first need to create a DSN (Data Source) which will access data from . We will later be able to read data using . Perform these steps:

  1. Install ZappySys ODBC PowerPack.

  2. Open ODBC Data Sources (x64):
    Open ODBC Data Source

  3. Create a User Data Source (User DSN) based on ZappySys API Driver

    ZappySys API Driver
    Create new User DSN for ZappySys API Driver
    You should create a System DSN (instead of a User DSN) if the client application is launched under a Windows System Account, e.g. as a Windows Service. If the client application is 32-bit (x86) running with a System DSN, use ODBC Data Sources (32-bit) instead of the 64-bit version.
  4. When the Configuration window appears give your data source a name if you haven't done that already, then select "SharePoint Online" from the list of Popular Connectors. If "SharePoint Online" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:

    SharePointOnlineDSN
    SharePoint Online
    ODBC DSN Template Selection

  5. Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.

    OAuth App must be created in Microsoft Azure AD. These settings typically found here https://docs.microsoft.com/en-us/graph/auth-register-app-v2. [API Help..]

    Steps to get SharePoint Online Credentials

    Firstly, login into Azure Portal and there create an OAuth application:

    1. Login to Azure Portal:
      • Navigate to the Azure Portal and log in using your credentials.
    2. Access Azure Active Directory:
    3. Register a New Application:
      • Go to App registrations and click on New registration.
      • Application Name: Enter a name for your application.
      • Supported Account Types: Choose the account types your app will support. For example, select Accounts in this organizational directory only if you need access to data in your organization only.
      • Redirect URI:
        • Set the type to Web.
        • In the textbox enter https://login.microsoftonline.com/common/oauth2/nativeclient as the Redirect URI or any other valid redirect URL, e.g., https://zappysys.com/oauth.
        • Use this Redirect URI in the Redirect URL grid row.
    4. Save Client ID:
      • After registering the app, copy the Application (client) ID and paste it into the Client ID field in the API Connection Manager configuration.
    5. Set Authorization & Token URLs:
      • Click on the Endpoints link in the App registration overview.
      • Authorization URL: Copy the OAuth 2.0 authorization endpoint (v2) URL (e.g., https://login.microsoftonline.com/{your-tenant-id}/oauth2/v2.0/authorize) and paste it into the Authorization URL field in the configuration grid.
      • Token URL: Copy the OAuth 2.0 token endpoint (v2) URL (e.g., https://login.microsoftonline.com/{your-tenant-id}/oauth2/v2.0/token) and paste it into the Token URL field.
    6. Create a Client Secret:
      • In the Certificates & secrets tab, click New client secret.
      • Set an expiration period for the secret.
      • Copy the generated client secret and paste it into the Client Secret field in the API Connection Manager configuration.
    7. Configure API Permissions:
      • Go to the API Permissions section.
      • Click on Add a permission, select Microsoft Graph, and choose Delegated Permissions.
      • Add the required permissions:
        • offline_access
        • Files.Read
        • Files.Read.All
        • Files.ReadWrite
        • Files.ReadWrite.All
        • openid
        • profile
        • Sites.Read.All
        • Sites.ReadWrite.All
        • User.Read
        • email
      • Grant Admin Consent for the permissions that require it.
    8. Generate Tokens:
      • Use the Generate Token feature in the API Connection Manager to generate authentication tokens.
    9. Use a Generic Account for Automation:
      NOTE: If you are planning to use your current data connection/token for automated processes, we recommend that you use a generic account for token generation when the login box appears (e.g. sales_automation@mycompany.com instead of bob_smith@mycompany.com). When you use a personal account which is tied to a specific employee profile and that employee leaves the company, the token may become invalid and any automated processes using that token will fail. Another potentially unwanted effect of using a personal token is incorrect logging; the API calls (e.g. Read, Edit, Delete, Upload) made with that token will record the specific user as performing the calls instead of an automated process.
    10. That's it!
    For more information you can read this link https://docs.microsoft.com/en-us/graph/auth-register-app-v2 Also https://docs.microsoft.com/en-us/graph/auth-register-app-v2

    Fill in all required parameters and set optional parameters if needed:

    SharePointOnlineDSN
    SharePoint Online
    User Credentials [OAuth]
    https://graph.microsoft.com/v1.0
    Required Parameters
    Authorization URL Fill in the parameter...
    Token URL Fill in the parameter...
    Client ID Fill in the parameter...
    Scope Fill in the parameter...
    SiteId (select after pressing 'Generate Token') Fill in the parameter...
    Optional Parameters
    Client Secret Fill in the parameter...
    ReturnUrl Fill in the parameter...
    Login Prompt Option Fill in the parameter...
    RetryMode Fill in the parameter...
    RetryStatusCodeList Fill in the parameter...
    RetryCountMax Fill in the parameter...
    RetryMultiplyWaitTime Fill in the parameter...
    ODBC DSN Oauth Connection Configuration

    OAuth App must be created in Microsoft Azure AD. These settings typically found here https://docs.microsoft.com/en-us/graph/auth-v2-service [API Help..]

    Steps to get SharePoint Online Credentials

    Firstly, login into Azure Portal and there create an OAuth application:

    Step-1: Create OAuth App

    1. Go to Azure Portal and login there.
    2. Then go to Azure Active Directory.
    3. On the left side click menu item App registrations
    4. Then proceed with clicking New registration.
    5. Enter a name for your application.
    6. Select one of Accounts in this organizational directory only as supported account type to access data in your company.
    7. In Redirect URI section leave option selected at Web.
    8. Copy Application (client) ID and paste it into API Connection Manager configuration grid in Client ID row.
    9. Then click on Endpoints link and copy second, Token, URL to Token URL field in configuration grid. Usually they look similar to these:
      https://login.microsoftonline.com/daed1250-xxxx-xxxx-xxxx-ef0a982d3d1e/oauth2/v2.0/token
      https://login.microsoftonline.com/common/oauth2/v2.0/token
      
    10. Close "Endpoints" and create a Client Secret by clicking Certificates & secrets.
    11. Proceed by clicking New client secret and setting expiration period. Copy the client secret and paste it into configuration grid in Client Secret row.
    12. Go to API Permissions section and add Microsoft Graph permissions for SharePoint and Drive, e.g. Sites.Selected, Sites.Read.All, Sites.ReadWrite.All, Files.Read.All, Files.ReadWrite.All.
    13. Finally, Grant admin consent for your domain for your permissions.

    Step-2: Register OAuth App in SharePoint Admin Portal

    1. After we create OAuth App we need to add grant SharePoint access to that App using Admin Portal. Make sure you have admin permission to acces Portal. For detailed steps you may refer to this link. Here are basic steps you can follow.
    2. Log in to SharePoint Admin Portal and access below URL
      (Replace YOURCOMPANY)
      https://YOURCOMPANY-admin.sharepoint.com/_layouts/15/appprincipals.aspx?Scope=Web
    3. Enter App Id and other information
    4. Enter XML snippet which describes which permission you want to grant. Here is an example permission (App with FullControl / Read / Write)
      <AppPermissionRequests AllowAppOnlyPolicy="true">
        <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
      </AppPermissionRequests>
        
    5. Click Add to grant the permission. That's it!
    NOTE: After adding App in SharePoint if you ever remove the permission then you can visit the following URL and delete the App.
    https://YOURCOMPANY-admin.sharepoint.com/_layouts/15/appprincipals.aspx?Scope=Web

    Fill in all required parameters and set optional parameters if needed:

    SharePointOnlineDSN
    SharePoint Online
    Application Credentials [OAuth]
    https://graph.microsoft.com/v1.0
    Required Parameters
    Token URL Fill in the parameter...
    Client ID Fill in the parameter...
    Client Secret Fill in the parameter...
    SiteId Fill in the parameter...
    Optional Parameters
    Scope Fill in the parameter...
    RetryMode Fill in the parameter...
    RetryStatusCodeList Fill in the parameter...
    RetryCountMax Fill in the parameter...
    RetryMultiplyWaitTime Fill in the parameter...
    ODBC DSN Oauth Connection Configuration

  6. Once the data source has been configured, you can preview data. Select the Preview tab and use settings similar to the following to preview data:
    ODBC ZappySys Data Source Preview

  7. Click OK to finish creating the data source.

Video instructions

Reading data from client application

  1. Firstly, to get data from ODBC data source based on ZappySys ODBC driver, in your client application, you would need to connect to ODBC source and then from the list select the data source.
  2. Finally, to read the data just read tables/views in your app or enter a SQL statement to extract data, e.g.:

    SELECT * FROM Sites

SharePoint Online Connector Examples

The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the SharePoint Online API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from SharePoint Online.

Click here to find more SharePoint Online Connector examples designed for seamless integration with the ZappySys API ODBC Driver under ODBC Data Source (36/64) or ZappySys Data Gateway, enhancing your ability to connect and interact with Prebuilt Connectors effectively.

Consume Data inside your App / Programming Language

Once you know how to load data from SharePoint Online Connector, you can click on one of the below links to learn the steps how to consume data inside your App / Programming Language from SharePoint Online Connector.

ODBC inside ETL / Reporting / BI Tools

ODBC inside Programming Languages

Key features of the ZappySys API Driver include:

The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.

  1. Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within SharePoint Online without requiring extensive technical expertise or programming knowledge.

  2. Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within SharePoint Online.

  3. Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from SharePoint Online and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.

  4. Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the SharePoint Online API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.

  5. Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.

  6. Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from SharePoint Online, enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.

Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with SharePoint Online, providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.