Skip to content

Commit dfca10e

Browse files
author
Dmitry Kozlov
committedNov 25, 2024
updated deployment instructions
1 parent 5fa4cef commit dfca10e

File tree

1 file changed

+36
-32
lines changed

1 file changed

+36
-32
lines changed
 

‎README.md

+36-32
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,64 @@
1-
# Azure Functions for retriving data from SharePoint Online, Dynamics CRM, and Dynamics 365 Business Central using Azue AD App and Microsoft Graph API
1+
# Azure Functions for retriving data from SharePoint Online, Dynamics CRM, and Dynamics 365 Business Central using Entra ID app, Microsoft Graph API and Dynamics 365 Business Central API
22

3-
This repository contains Azure Functions for retrieving data from a SharePoint list, Dynamics CRM, and Dynamics 365 Business Central. These functions can be used anonymously without additional authentication and requesting permissions from the end-user. For instance, they can be utilized in public web forms as data sources for choice fields, e.g. drop-downs, checkboxes, or radios. For more inforamtion on how to install and use them, read articles on retrieving data from [SharePoint Online](https://medium.com/plumsail/how-to-provide-public-access-to-sharepoint-online-list-data-via-azure-function-using-azure-ad-app-f25f881d7328) and [Dynamics 365 Business Central](https://medium.com/plumsail/how-to-retrieve-data-from-dynamics-365-business-central-via-azure-function-and-use-it-in-public-aa219b0443cc).
3+
This repository contains Azure Functions for retrieving data from a SharePoint list, Dynamics CRM, and Dynamics 365 Business Central. These functions can be used anonymously without additional authentication and requesting permissions from the end-user. For instance, they can be utilized in public web forms as data sources for choice fields—dropdowns, checkboxes, or radios. For more inforamtion on how to install and use them, read articles on retrieving data from [SharePoint Online](https://plumsail.com/blog/how-to-provide-public-access-to-sharepoint-online-list-data/), [Dynamics 365](https://plumsail.com/blog/how-to-retrieve-data-from-dynamics-365-crm/) and [Dynamics 365 Business Central](https://plumsail.com/blog/how-to-retrieve-data-from-dynamics-365-business-central/).
44

55
## Installation
66

77
### SharePoint
88

9-
1. Sign in to your Office 365 tenant as tenant administator and navigate to Azure Active Directory admin center.
10-
2. [Register an Azure AD app](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) and add application permissions to read data from SharePoint sites via **Microsoft Graph API** (Sites.Read.All).
9+
1. Open [Microsoft Entra admin center](https://entra.microsoft.com/)
10+
2. [Register an app](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=client-secret#register-an-application) and add application permissions to read data from SharePoint sites via **Microsoft Graph API** (Sites.Read.All).
1111
3. Grant admin consent for your tenant.
12-
4. Sign in to Azure Portal, [create function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal) and deploy FunctionApp project.
13-
5. Set up [application settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
12+
4. Fork this repository.
13+
5. Sign in to the [Azure portal](https://portal.azure.com/), [create a function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal), and deploy your forked repository.
14+
6. Set up [Environment variables](https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
1415

1516
Name | Description
1617
--- | ---
17-
SharePoint:AzureApp:ClientId | Id of the Azure AD app
18-
SharePoint:AzureApp:ClientSecret | Client Secret of the Azure AD app
19-
SharePoint:AzureApp:Tenant | Office 365 tenant, ex.: contoso.onmicrosoft.com
18+
SharePoint:AzureApp:ClientId | The Application (client) ID of the Entra ID app
19+
SharePoint:AzureApp:ClientSecret | The Client secret of the Entra ID app
20+
SharePoint:AzureApp:Tenant | Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
2021
SharePoint:ListData:SiteUrl | The absolute URL of the source site, ex: https://contoso.sharepoint.com/sites/mysite
2122
SharePoint:ListData:ListName | The name of the source list
2223

2324
### Dynamics 365 CRM
2425

25-
1. Sign in to your Office 365 tenant as tenant administator and navigate to Azure Active Directory admin center.
26-
2. [Register an Azure AD app](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) and add delegated permissions to Dynamics CRM: **Dynamics CRM****user_impersanation**.
27-
3. Sign in to Azure Portal, [create function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal) and deploy FunctionApp project
28-
4. Copy URL of **D365-CRM-Authorize** function and add it to **Authentication****Redirect URIs** of the Azure AD app
29-
5. Set up [application settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
26+
1. Open [Microsoft Entra admin center](https://entra.microsoft.com/)
27+
2. [Register an app](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=client-secret#register-an-application) and add delegated permissions to Dynamics CRM: **Dynamics CRM****user_impersanation**.
28+
3. Fork this repository.
29+
4. Sign in to the [Azure portal](https://portal.azure.com/), [create a function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal), and deploy your forked repository.
30+
5. Copy the URL of the **D365-CRM-Authorize** function and paste it to **Authentication****Web****Redirect URIs** of the Entra ID app
31+
6. Set up [Environment variables](https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
3032

3133
Name | Description
3234
--- | ---
33-
Dynamics365.CRM:AzureApp:ClientId | Id of the Azure AD app
34-
Dynamics365.CRM:AzureApp:ClientSecret | Client Secret of the Azure AD app
35-
Dynamics365.CRM:AzureApp:Tenant | Office 365 tenant, ex.: contoso.onmicrosoft.com
36-
Dynamics365.CRM:AzureApp:DynamicsUrl | URL of the Dynamics CRM, ex.: https://contoso.crm.dynamics.com
35+
Dynamics365.CRM:AzureApp:ClientId | The Application (client) ID of the Entra ID app
36+
Dynamics365.CRM:AzureApp:ClientSecret | The Client secret of the Entra ID app
37+
Dynamics365.CRM:AzureApp:Tenant | Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
38+
Dynamics365.CRM:AzureApp:DynamicsUrl | The URL of your Dynamics CRM, ex.: https://mycompany.crm4.dynamics.com
3739

38-
6. Copy URL of **D365-CRM-Authorize**, open it in your browser, and provide the app with the requested permissions. After that, all functions for Dynamics 365 CRM will perform on behalf of your account. The end-user will not be asked for permissions.
40+
7. Copy the URL of the **D365-CRM-Authorize**, open it in your browser, and approve the permission request. After that, all requests to Dynamics 365 CRM will perform on behalf of your account. The end-user will not be asked for permissions.
3941

4042
### Dynamics 365 Business Central
4143

42-
1. Sign in to your Office 365 tenant as tenant administator and navigate to Azure Active Directory admin center.
43-
2. [Register an Azure AD app](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) and add delegated permissions to read/write financials data via **Microsoft Graph API** (Financials.ReadWrite.All).
44-
3. Sign in to Azure Portal, [create function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal) and deploy FunctionApp project
45-
4. Copy URL of **D365-BC-Authorize** function and add it to **Authentication****Redirect URIs** of the Azure AD app
46-
5. Set up [application settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
44+
1. Open [Microsoft Entra admin center](https://entra.microsoft.com/)
45+
2. Register an app](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=client-secret#register-an-application) and add delegated permissions to Dynamics 365 Business Central: **Dynamics 365 Business Central****Financials.ReadWrite.All**.
46+
3. Fork this repository.
47+
4. Sign in to the [Azure portal](https://portal.azure.com/), [create a function app](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal), and deploy your forked repository.
48+
5. Copy the URL of **D365-BC-Authorize** function and add it to **Authentication****Web****Redirect URIs** of the Entra ID app
49+
6. Set up [Environment variables](https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings) for your function app:
4750

4851
Name | Description
4952
--- | ---
50-
Dynamics365.BusinessCentral:AzureApp:ClientId | Id of the Azure AD app
51-
Dynamics365.BusinessCentral:AzureApp:ClientSecret | Client Secret of the Azure AD app
52-
Dynamics365.BusinessCentral:AzureApp:Tenant | Office 365 tenant, ex.: contoso.onmicrosoft.com
53-
Dynamics365.BusinessCentral:Customers:Company | The name of the source company of customers
54-
Dynamics365.BusinessCentral:Vendors:Company | The name of the source company of vendors
55-
Dynamics365.BusinessCentral:Items:Company | The name of the source company of items
56-
57-
6. Copy URL of **D365-BC-Authorize**, open it in your browser, and provide the app with the requested permissions. After that, all functions for Business Central will perform on behalf of your account. The end-user will not be asked for permissions.
53+
Dynamics365.BusinessCentral:AzureApp:ClientId | The Application (client) ID of the Entra ID app
54+
Dynamics365.BusinessCentral:AzureApp:ClientSecret | The Client secret of the Entra ID app
55+
Dynamics365.BusinessCentral:AzureApp:Tenant | Your Microsoft 365 tenant, ex.: contoso.onmicrosoft.com
56+
Dynamics365.BusinessCentral:AzureApp:InstanceId | Your Business Central ID: https://businesscentral.dynamics.com/{instanceId}/?referrer=office
57+
Dynamics365.BusinessCentral:Customers:Company | The name of the source company for D365-BC-Customers function
58+
Dynamics365.BusinessCentral:Vendors:Company | The name of the source company for D365-BC-Vendors function
59+
Dynamics365.BusinessCentral:Items:Company | The name of the source company for D365-BC-Items function
60+
61+
7. Copy the URL of the **D365-BC-Authorize**, open it in your browser, and approve the permission request. After that, all requests to Business Central will perform on behalf of your account. The end-user will not be asked for permissions.
5862

5963
## License ##
6064

0 commit comments

Comments
 (0)