Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.
Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.

February 2022

VIDEO – Query Dataverse Tables With HTTP POST

Step-by-step live demo of how to create Azure App Registration and query Microsoft Dataverse tables over HTTP POST to the CRM Dynamics 365 endpoints. Key steps include:

  1. Create Azure App Registration with Client Secret
  2. Grant delegated Azure App API permission “Access Common Data Service as organization users”
  3. Grant same Azure App GUID permission in PowerApps Admin Center
  4. Grant “Service Reader” for target PowerApps Environment
  5. Execute login HTTP POST to gain “access_token”
  6. Execute query HTTP POST to gain JSON Dataverse table rows

Cheers

VIDEO

CODE

SCREENSHOTS

REFERENCES

VIDEO – Fully Automatic Page Translation with SPO, Azure Fn, PNP, and Cognitive Services

Wanted to share video demo of the configuration, testing, and debug for ASPX Page Translation of “flat” text modern content leveraging SharePoint Online (SPO), Azure Functions (Fn), PowerShell PNP, and Azure Cognitive Services.

Now users create Modern SPO pages with embedded text and simply click Microsoft “convert” to languages button. Background job handles Translation API for text updates.

Key technical design components are:

  1. SPO Modern page source text
  2. SPO site settings > Enable multi-language
  3. Azure Translation API
  4. Azure Function PowerShell
  5. MS Flow to automatically execute Azure Function

Comments and suggestions always welcome. Cheers.

VIDEO

SCREENSHOT

CODE

AZURE FUNCTION KUDU

# This file enables modules to be automatically managed by the Functions service.
# See https://aka.ms/functionsmanageddependency for additional information.
#
@{
    # For latest supported version, go to 'https://www.powershellgallery.com/packages/Az'. 
    # To use the Az module in your function app, please uncomment the line below.
    # 'Az' = '7.*'
    
    'PNP.PowerShell' = '1.*'
}

MS FLOW COMPOSE

replace(replace(triggerBody()?['{Path}'], 'SitePages',''),'/','')

MS FLOW COMPOSE2

{
  "siteURL": "https://spjeff.sharepoint.com/sites/portal",
  "language": "@{outputs('Compose')}",
  "pageTitle": "@{triggerOutputs()?['body/{Name}']}"
}

REFERENCES

© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲