How to read SharePoint Online data in MS SQL/SSRS/Java using ZappySys Data Gateway?
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 Data Source in ZappySys Data Gateway based on API Driver
-
Download and install ZappySys ODBC PowerPack.
-
Search for gateway in start menu and Open ZappySys Data Gateway:
-
Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
-
Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.
SharePointOnlineDSN
-
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:
SharePointOnlineDSNSharePoint Online -
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:
-
Login to Azure Portal:
- Navigate to the Azure Portal and log in using your credentials.
-
Access Azure Active Directory:
- In the left-hand menu, click on Azure Active Directory.
-
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.
-
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.
-
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.
-
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.
-
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
- Grant Admin Consent for the permissions that require it.
-
Generate Tokens:
- Use the Generate Token feature in the API Connection Manager to generate authentication tokens.
-
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.
- That's it!
Fill in all required parameters and set optional parameters if needed:
SharePointOnlineDSNSharePoint OnlineUser Credentials [OAuth]https://graph.microsoft.com/v1.0Required 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... Search Option For Non-Indexed Fields (Default=Blank - Search Only Indexed) Fill in the parameter... Extra Headers (e.g. Header1:AAA||Header2:BBB) Fill in the parameter... 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
- Go to Azure Portal and login there.
- Then go to Azure Active Directory.
- On the left side click menu item App registrations
- Then proceed with clicking New registration.
- Enter a name for your application.
- Select one of Accounts in this organizational directory only as supported account type to access data in your company.
- In Redirect URI section leave option selected at Web.
- Copy Application (client) ID and paste it into API Connection Manager configuration grid in Client ID row.
- 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
- Close "Endpoints" and create a Client Secret by clicking Certificates & secrets.
- Proceed by clicking New client secret and setting expiration period. Copy the client secret and paste it into configuration grid in Client Secret row.
- 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.
- Finally, Grant admin consent for your domain for your permissions.
Step-2: Register OAuth App in SharePoint Admin Portal
- 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.
- Log in to SharePoint Admin Portal and access below URL
(Replace YOURCOMPANY)
https://YOURCOMPANY-admin.sharepoint.com/_layouts/15/appprincipals.aspx?Scope=Web
- Enter App Id and other information
- 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>
- Click Add to grant the permission. That's it!
https://YOURCOMPANY-admin.sharepoint.com/_layouts/15/appprincipals.aspx?Scope=Web
Fill in all required parameters and set optional parameters if needed:
SharePointOnlineDSNSharePoint OnlineApplication Credentials [OAuth]https://graph.microsoft.com/v1.0Required 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... Search Option For Non-Indexed Fields (Default=Blank - Search Only Indexed) Fill in the parameter... Extra Headers (e.g. Header1:AAA||Header2:BBB) Fill in the parameter... -
Login to Azure Portal:
-
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:
-
Click OK to finish creating the data source.
Reading data from client application
- 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.
-
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
- Power BI
- Tableau
- Excel
- Informatica PowerCenter
- QlikView
- SQL Server / Linked Server
- SSRS (SQL Server Reporting Services)
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.
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.
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.
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.
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.
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.
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.