Contoso O365 Doc Sync Code Sample
Table of Contents
Create Azure resources using ARM template
Register the application in Azure Active Directory for MVC Web App
Register the application in AAD for WebJob
Configure the communication between WebJob and O365 tenant
Configure always encrypted feature for database
Encrypt the database connection string
Upload the Add-in manifest file
Run Excel, Word & PowerPoint Add-ins
How to view data in the storage account?
Deploying and running this sample requires:
- An Azure subscription with permissions to register a new application, and deploy the Web App.
- You have an O365 account and you could contact your admin to consent the permission to access it.
- Visual Studio 2015 (any edition), Visual Studio 2015 Community is available for free and ensure Latest Microsoft Office Developer Tools for Visual Studio 2015 is installed.
- Make sure you have Azure PowerShell installed.
- Make sure you have Microsoft Azure Tools for Microsoft Visual Studio 2015 installed.
- Familiarity with C#, .NET Web applications, JavaScript programming.
-
Download the project and using visual studio 2015 to open it.
-
Right click on the Azure resource group project ContosoO365DocSync.Azure then click Deploy then click New.
-
Fill the following form.
- Login account.
- Select the subscription.
- Click Create New.
- Create a new resource group(For example: ContosoO365DocSync.QA).
- Select resource.json.
- Select resource.qa.parameters.json.
-
Clicking Edit Parameters and please fill the parameters below, then select save passwords checkbox and then click Save.
Note: Copy and store
webSiteName
,administratorLogin
andadministratorLoginPassword
, you will use them in the next steps.Parameter Name Value Note webSiteName For example: ContosoO365DocSyncQAWebApp sqlserverName For example: ContosoO365DocSyncQASQL The SQL Server name hostingPlanName For example: ContosoO365DocSyncQAHostPlan The name of the App Service plan to use for hosting the Web App. skuName **For example: ** F1 skuCapacity For example: 1 sets number of workers for this App Service plan SKU administratorLogin For example: ContosoO365DocSyncLogin This login is used to login to the SQL database. administratorLoginPassword For example: contosoo365docsync@qa databaseName For example: contosoo365docsyncQA The database name hosted on the SQL Server collation Leave it as is. edition For example: basic Specifies the edition for the database. Valid values are: -- Default -- None -- Premium -- Basic -- Standard maxSizeBytes Leave it a is requestedServiceObjectivename For example: basic performance level storageAccountType For example: Standard_LRS storageAccountName For example: ContosoO365DocSyncQA appInsightName For example: contosoo365docsyncqa -
Validate and hit Ok.
-
Uncheck the Validate only checkbox and then hit OK to create the Azure resources.
Resource Name Resource Type Pricing Level Resource Group webSiteName App Service F1 Resource group created in the step 3 above. sqlserverName SQL Server N/A Same as above databaseName SQL database basic Same as above storageAccountName Storage account LRS Same as above webSiteName Application insight basic Same as above
-
Login the Azure portal using your O365 account.
-
Click App Registrations on the left navigation and then click + New application registration button.
-
In the Add Application wizard, enter a name of ContosoO365DocSyncWeb and choose the type Web Application and/or Web API.
-
Enter a SIGN-ON URL.
https://<appName>.azurewebsites.net
For example:https://contosoo365docsyncweb.azurewebsites.net
.Note: Sign-ON URL is the URL where you can sign in and use your app.
-
Click Create to create the registration.
-
Go back the App registrations page when the application created successfully.
-
Search the application name and then click it.
-
Obtain and store the application client ID.
- On the application, the GUID in Application ID is
client ID
and store it.
- On the application, the GUID in Application ID is
-
Obtain and store the application client secret.
- On the application, click Keys.
- Enter Key Name and select Expires and then click Save.
- After saved successfully copy and store the
client secret
.
-
Configure the reply URLS..
-
On the application, click Reply URLs..
-
Delete all existing URLs, then enter the
https://<webSiteName>.azurewebsites.net/
, then click Save.Note: You can find the webSiteName in step 4 in this section.
-
-
Configure the application permissions.
-
On the application, click Required permissions.
-
Make sure the Sign in and read user profile is selected of Windows Azure Active Directory.
-
Click Add, select Office 365 SharePoint Online, select Read and write items and lists in all site collections and then click Select.
-
Click Done.
-
Click Add, select Microsoft Graph, select Create, edit, and delete items and lists in all site collections and then click Select.
-
Click Done.
-
-
Obtain and store the Azure AD tenant ID.
-
Follow Register the application in AAD for MVC Web App section to register another app named ContosoO365DocSyncWebJob and please refer to the table below when filling the value.
| SIGN-ON URL |
https://[appWebJobName].azurewebsites.net
| -
Please make sure the following permissions are configured for the Azure AD web job app.
-
Create self-certificate.
-
Execute the following command to create the self-certificate.
makecert -n "CN=MyCompanyName MyAppName Cert" -ss my -len 1024 -r -pe
NOTE: Please update the MyCompanyName and MyAppName. For example:
makecert -n "CN=ContosoLLC ContosoO365Sync Cert" -ss my -len 1024 -r -pe
-
Go to the personal certificate store under current user.
-
Export the CER certificate with base 64 encoded X.509.
-
Execute the following PowerShell command.
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cer.Import("<absolute path of the CER file>") $bin = $cer.GetRawCertData() $base64Value = [System.Convert]::ToBase64String($bin) $bin = $cer.GetCertHash() $base64Thumbprint = [System.Convert]::ToBase64String($bin) $keyid = [System.Guid]::NewGuid().ToString() Write-Host $base64Value Write-Host "---" Write-Host $base64Thumbprint Write-Host "---" Write-Host $KeyId
NOTE: Please update the CER file path. For example: c:\mycert.cer
-
Store the
base64Value
,$base64Thumbprint
andkeyid
that will be used in other places.Note: If MAKECERT is not available, please download the Windows SDK and install the tool only in the screenshot below.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=8279
-
-
Export PFX certificate
- Export the PFX certificate from the self-certificate
- Store the password when exporting the PFX certificate.
- Store the PFX certificate.
-
Download the project & include the certificate.
-
Open then project in visual studio 2015.
-
Include the PFX certificate in ContosoO365DocSync.WebJob project.
- Include the PFX certificate in ContosoO365DocSync.DocumentWebJob project.
For example: contosoo365docsync.pfx.
-
-
Configure the application settings in Azure portal.
- Login the Azure portal.
- Go to the resource groups you created in this section.
- Click the web site.
- Go to the application settings.
-
Locate the App settings node.
-
Fill the following app settings.
**App setting ** Value Notes InstrumentationKey Application Insight Instrumentation key. Find it in the application insights ida:WebJobClientId The application ID of the AAD App for WebJob Find it in the AAD App for WebJob in this section. CertificatePassword The password when exporting the certificate Step 2 in this section ida:AADInstance https://login.microsoftonline.com/ Fixed value ida:TenantId The Azure Tenant ID Step 12 in this section SharePointUrl The root site collection of the O365 site For example: https://yourtenant.sharepoint.com Key 23, 7, 19, 11, 24, 226, 85, 45, 114, 184, 27, 162, 37, 112, 222, 209, 241, 24, 175, 144, 176, 53, 196, 29, 24, 26, 17, 218, 131, 236, 53, 209 Encrypt key, this is fixed value CertificateFile web site relative path Step 2 in this section ida:clientID GUID Step 8 in this section ida:clientSecret String Step 9 in this section ida:PostLogoutRedirectUri https://<>.azurewebsites.net/ Step 4 in this section ResourceId https://graph.microsoft.com this is fixed value - Update the following connection settings.
**Connection setting ** Value Notes DefaultConnection The SQL server database connection string. Encrypt it in this section AzureWebJobsDashboard The Azure web job dashboard connection string. Encrypt it in this section AzureWebJobsStorage The Azure web job storage connection string Encrypt it in this section -
Update the manifest file.
- Login the Azure portal.
- Go to the ADD App you created in this section.
- Download the manifest file from the AAD App for the WebJob.
- Edit XXX following the template below and then upload the manifest file.
Key | Value | Notes |
---|---|---|
customKeyIdentifier | $base64Thumbprint | Step 1.5 in this section. |
keyId | $keyid | Step 1.5 in this section. |
value | $base64Value | Step 1.5 in this section |
-
Open the project using visual studio 2015 if you already download it.
-
Right click on ContosoO365DocSync.Web and then select Publish
-
A Publish popup will be displayed.
-
Click on Microsoft Azure App Service.
-
Sign in with Azure account and select the Azure website then click OK.
-
Select Web Deploy and then click Next.
-
Select Release and unchecked the Enable Organizational Authentication then click Next.
-
Click Publish.
-
After published successfully, make sure you can open the
https://<webSiteName>.azurewebsites.net
site and it is blank.NOTE: You can find the
webSiteName
in step 4 in this section.
The application you registered and the azure resource group you created must be in same domain.
-
Create Key Vault.
-
Go to the resource group in Azure portal.
-
Click Add on the top menu.
-
In the new page, type key vault and then select Key Vault.
-
Click Create.
-
Fill the form.
- Type the key vault name.
- Select subscription.
- Select the existing group.
- Select location.
-
Click Access policies, then click Add new, then click Select principal.
-
Type the application id then select the application, and then click Select.
-
Select the following key permissions and then click OK.
-
Go back to Access policies page and click the user name you signed in.
-
Select the following key permissions and then click OK.
-
Click OK in Access policies page.
-
Click Create in create key vault page.
-
-
Configure encrypt columns for database.
Prerequisites: SQL Server Management Studio version 13.0.700.242 or later.
-
Open SQL Server Management Studio.
-
Connect to the database.
Note: You can find the server name, login name and password from the connection string in application settings page in Azure.
-
Expand the database and table, then right click on SourcePoints, then select Encrypt Columns.
-
Click Next in Introduction page.
-
Select the encryption type and key as below and then click Next.
-
Configure master key and then click Next.
- Select auto generate column master key.
- Select Azure Key Vault.
- Select subscription.
- Select the key vault you created.
-
In the Run Settings page, select Proceed to finish now and then click Next.
-
In the Summary page, click Finish to verify that the settings are all correct and then click Close to complete the setup for Always Encrypted.
-
Right click on PublishedHistories and then select Encrypt Columns.
-
Click Next.
-
Select the encryption type and key as below and then click Next.
-
Click Next in Master Key Configuration page.
-
Select proceed to finish now and click Next in Run Settings page.
-
Click Finish in Summary page.
-
-
Open the project using visual studio 2015 if you already download it.
-
Set ContosoO365DocSync.EncryptTool as StartUp project, and press F5.
-
A encrypt tool window will be displayed.
-
Encrypt string
-
Go to the resource group in Azure portal.
-
Go to the SQL database.
-
Obtain and store the server address and catalog name.
-
Edit the connection string below and then store it.
Data Source=<server address>;Initial Catalog=<catalog name>;User Id=<administratorLogin>;Password=<administratorLoginPassword>;MultipleActiveResultSets=False;Encrypt=True;Column Encryption Setting=Enabled;
NOTE: You can find the
administratorLogin
andadministratorLoginPassword
in step 4 in this section.For example: Data Source=tcp:msfincontosoo365docsyncd.database.windows.net,1433;Initial Catalog=contosoo365docsyncd; User Id=contosoo365doc;Password=12345678;MultipleActiveResultSets=False;Encrypt=True;Column Encryption Setting=Enabled;
-
Encrypt the connection string in this section and then store the encrypted connection string.
-
Go to the app for Office add-in management page.
For example:
https://<tenantname>.sharepoint.com/sites/AppCatalog/AgaveCatalog/Forms/AllItems.aspx
-
Click 'Upload'
-
Find the app manifest file.
-
Update the manifest file.
-
Update the Id with a new generated GUID and you could refer to the link below on how to generate it. https://guidgenerator.com/online-guid-generator.aspx
Note: please generate new GUID for the Word manifest file.
-
Update the display name and description default value to ContosoO365DocSync.
-
Update the icon url default value to the one provisioned in Azure.
For example:
https://<webSiteName>.azurewebsites.net/Images/logo.png
.Note: You can find the webSiteName in step 4 in this section.
-
Update the hosts to the following elements.
<Host Name="Workbook" /> <Host Name="Document" /> <Host Name="Presentation" />
-
Update the source location default value to the one provisioned in Azure.
For example:
https://<webSiteName>.azurewebsites.net/Home/Index
.
Note: You can find the webSiteName in step 4 in this section.
-
-
Upload manifest file ContosoO365DocSyncExcel.xml to the SharePoint catalog.
-
Open Excel 2016.
-
Sign in with your O365 account.
-
Click File | Options
-
Click Trust Center | Trust Center settings.
-
Click Trusted Add-in Catalogs | Add catalog URL.
For example:
https://<tenantname>.sharepoint.com/sites/AppCatalog
-
Restart the Excel.
-
Click Insert and My Add-ins
-
Click MY ORGANIZATION and insert the ContosoO365DocSync.
-
Then the Excel Add-in would be shown on the task panel.
-
Open Word 2016
-
Sign in with your O365 account.
-
Click File | Options
-
Click Trust Center | Trust Center settings.
-
Click Trusted Add-in Catalogs | Add catalog URL
For example:
https://<tenantname>.sharepoint.com/sites/AppCatalog
-
Restart Word.
-
Click Insert and My Add-ins.
-
Click MY ORGANIZATION and insert the ContosoO365DocSync.
-
Then the Word Add-in would be shown on the task panel.
-
Open PowerPoint 2016
-
Sign in with your O365 account.
-
Click File | Options
-
Click Trust Center | Trust Center settings.
-
Click Trusted Add-in Catalogs | Add catalog URL
For example:
https://<tenantname>.sharepoint.com/sites/AppCatalog
-
Restart PowerPoint.
-
Click Insert and My Add-ins.
-
Click MY ORGANIZATION and insert the ContosoO365DocSync.
-
Then the PowerPoint Add-in would be shown on the task panel.
-
Work with your O365 admin to go to admin consent page in the browser.
For example:
https://<webSiteName>.azurewebsites.net/Admin/Consent
Note: You can find the webSiteName in step 4 in this section.
-
Ensure the WebJob is in running status. Please refer to this section on how to check the WebJob status.
-
Use the O365 admin account to login and click admin consent button.
-
Accept the permissions to access SharePoint site.
-
Open the Excel stored in your O365 document library and open it using Excel client tool then enable editing the Excel and open the Excel add-in.
-
Use your O365 account to login the Excel add-in and create a source point
- Click add button.
-
Edit the source point form.
- Select the range (only one cell is supported, please do not double click the cell. Click Esc if double click the cell.)
- Click the populating cell address button
- Select the range (only one cell is supported, please do not double click the cell. Click Esc if double click the cell.)
- Click the populating cell address button
- Save the changes
-
Open a Word document under the same document library where Excel file hosted in O365 site.
-
Use your O365 account to login the Word add-in and create a destination point.
-
Select the Excel file hosts the source points.
-
Put the cursor in the word then select one source point and then click the Add button.
-
Save the word document and close it.
-
You could refer to the 2 section on how to view the SQL data and how to view data in the storage account.
-
Open a PowerPoint file under the same document library where Excel file hosted in O365 site.
-
Use your O365 account to login the PowerPoint add-in.
- Click select file button
- Select the Excel file hosts the source points.
-
Login the Azure portal.
-
Select the SQL Server created in this section.
-
Click "Show firewall settings".
-
Add the client IP and save it.
-
Open Visual Studio 2015 with administrator permission and open "SQL Server Object Explorer"
-
Click Add SQL Server and the select the database and connect it.
-
The Server name will be automatically filled after selecting the DB.
-
Fill the correct DB.
-
Fill the correct Authentication Type, SQL Server Authentication.
-
Fill the User Name/Password created in this section.
-
The Database Name will be automatically filled.
-
Expand the tables under the database.
-
View the table data by clicking view data.
-
-
Login the Azure portal.
-
Select he storage account created in this section.
-
Get the access keys.
-
Download the Azure Storage Explorer.
- Download the Azure Storage Explorer from the following location http://storageexplorer.com
-
Use a storage account name and key to connect it in Azure Explorer Explorer.
-
Check the queue/table.
-
The publish queue & publish table is created under the queues/tables.
NOTE: The publish queue and table will be created when you publish source point in Excel add-in. So please publish the source point before to check the queue and tabe.
-
Check the data in the queue.
If there is one item in the queue, then there is one source point that needs to be proceeded.
-
Check the data in the table.
If the status value is InProgess, it means the item is still processing. (UI shows the progress bar)
If the status value is Completed, it means the item is proceed completed(UI shows the notification saying process succeeded)
If the status value is Error, it means there is some error processing this item(UI shows the error notification.)
-
-
Login the Azure portal.
-
Select website created in this section.
-
Go to the WebJobs under the website.
-
Ensure the WEBJOB status is running.
-
Open the project using Visual Studio 2015 if you already download it.
-
Set as debug mode for the project.
-
Build the project and make sure all projects build succeeded.
-
Create a new Azure AD App for the web.
-
Please use the value of SIGN-ON URL & App ID Uri below when following the section Register the application in Azure Active Directory for MVC Web App to create a new Azure AD App.
SIGN-ON URL https://localhost:44394/ App ID Uri https://localhost:44394/ -
Make sure you would get the Tenant ID, Client ID, Client Secret.
-
-
Update the web.config.
-
Update app setting in web.config
App setting key Value Update web.config or not Update web.debug.config or not ida:ClientId Client ID value get from step 4 Yes Yes ida:TenantId Tenant ID value get from step 4 Yes No ida:ClientSecret Client Secret value get from step 4 Yes No ida:PostLogoutRedirectUri https://localhost:44394/ Yes Yes ConsentResource https://<yourtenantname>.sharepoint.com
Yes No -
Update connectStrings in web.config using the value below
-
Update the [SQL Server Name] to the SQL server name created in step 4 in this section
-
Update the [Database Name] to databaseName created in step 4 in this section
-
Update the [User ID] to administratorLogin created in step 4 in this section
-
Update the [Password] to administratorLoginPassword created in step 4 in this section
connectionStrings value Update web.config or not Update web.debug.config or not connectionStrings connectionString="Data Source=tcp:[SQL Server Name].database.windows.net,1433;Initial Catalog=[Database Name];User Id=[User ID];Password=[Password]" providerName="System.Data.SqlClient" Yes No Note: Ensure the client IP is allowed to access this SQL server in Azure Portal.
-
-
-
Update the JavaScript file to support the local debug for Excel add-in.
-
Make sure that an Excel file is uploaded to the document library in SharePoint site within your tenant.
-
Copy the Excel file link and update link in Point.js in line 59.
that.filePath = window.location.href.indexOf("localhost") > -1 ? "https://<yourtenantname>.sharepoint.com/Shared%20Documents/Book.xlsx" : Office.context.document.url;
-
-
Update the JavaScript file to support the local debug for Word add-in.
-
Make sure that an Excel file is uploaded to the document library in SharePoint site within your tenant.
-
Copy the Word file link and update link in Point.js in line 68.
that.filePath = window.location.href.indexOf("localhost") > -1 ? "https://<yourtenantname>.sharepoint.com/Shared%20Documents/Test.docx" : Office.context.document.url;
-
-
Update the JavaScript file to support the local debug for PowerPoint add-in.
-
Make sure that an PowerPoint file is uploaded to the document library in SharePoint site within your tenant.
-
Copy the PowerPoint file link and update link in Point.js in line 77.
that.filePath = window.location.href.indexOf("localhost") > -1 ? "https://<yourtenantname>.sharepoint.com/Shared%20Documents/Presentation.pptx" : Office.context.document.url;
-
-
Set ContosoO365DocSyncExcel as StartUp project, and press F5.
-
Work with your O365 admin to go to admin consent page in the browser.
For example:
https://localhost:44394/Admin/Consent
-
Use the O365 admin account to login and click admin consent button.
-
Accept the permissions to access SharePoint site.
-
Open the Excel add-in in your local.
-
Click add and edit the source point form.
-
Select the range (only one cell is supported, please do not double click the cell. Click Esc if double click the cell.)
-
Click the populating cell address button
-
Select the range (only one cell is supported, please do not double click the cell. Click Esc if double click the cell.)
-
Click the populating cell address button
-
Save the changes
Note: By default, you could debug the JavaScript file by setting the breakpoint in it.You could also attach the process to debug the web application code when click save. This is same for debugging the Word add-in.
-
-
-
Set ContosoO365DocSyncWord as StartUp project and press F5
-
Open the words add-in in your local.
-
Click add and edit the destination form.
-
Select the Excel file hosts the source points.
-
Put the cursor in the word then select one source point just created and then click the Add button.
- Set ContosoO365DocSyncPowerPoint as StartUp project and press F5
-
Open the PowerPoint add-in in your local.
-
Click select file and browse source point file.
-
Select the Excel file hosts the source points.
-
Web Project ContosoO365DocSync.Web
-
SourcePoint Controller
ContosoO365DocSync.Web\Controllers\SourcePointController.cs
-
Create source point:
[HttpPost] [Route("api/SourcePoint")] public async Task<IHttpActionResult> PostAsync([FromBody]SourcePointForm sourcePointAdded)
-
Get source point
[HttpDelete] [Route("api/SourcePoint")] public async Task<IHttpActionResult> DeleteSourcePointAsync(string id)
-
Update source point
[HttpPut] [Route("api/SourcePoint")] public async Task<IHttpActionResult> EditSourcePointAsync([FromBody]SourcePointForm sourcePointAdded)
-
Delete source point
[HttpPost] [Route("api/DeleteSelectedSourcePoint")] public async Task<IHttpActionResult> DeleteSelectedSourcePointAsync([FromBody]IEnumerable<Guid> seletedIds)
-
-
DestinationPoint controller
ContosoO365DocSync.Web\Controllers\DestinationPointController.cs
-
Create destination point.
[HttpPost] [Route("api/DestinationPoint")] public async Task<IHttpActionResult> Post([FromBody]DestinationPointForm destinationPointAdded)
-
Get destination point
[HttpGet] [Route("api/DestinationPoint")] public async Task<IHttpActionResult> GetDestinationPointBySourcePoint(string sourcePointId)
-
Delete destination point
[HttpDelete] [Route("api/DestinationPoint")] public async Task<IHttpActionResult> DeleteSourcePoint(string id)
-
Get Graph access token
[HttpGet] Route("api/GraphAccessToken")] public async Task<IHttpActionResult> GetGraphAccessToken()
-
Authentication
-
Open ID Authentication
ContosoO365DocSync.Web\App_Start\Startup.Auth.cs
-
Get graph token.
AuthenticationResult result = authContext.AcquireTokenByAuthorizationCode(code, redirectUrl, credential, resourceId); AuthenticationHelper.token = result.AccessToken;
-
-
-
Service project ContosoO365DocSync.Service
-
ContosoO365DocSync DB context
ContosoO365DocSync\ContosoO365DocSync.Service\ContosoO365DocSyncDbContext.cs
-
SourcePoint Service
ContosoO365DocSync\ContosoO365DocSync.Service\SourcePointService.cs
-
Create source point
public async Task<SourcePoint> AddSourcePointAsync(string fileName, SourcePoint sourcePoint)
-
Get source points
public async Task<SourceCatalog> GetSourceCatalogAsync(string fileName)
-
Edit source point
public async Task<SourcePoint> EditSourcePointAsync(int[] groupIds, SourcePoint sourcePoint)
-
Delete source point
public async Task DeleteSelectedSourcePointAsync(IEnumerable<Guid> selectedSourcePointIds)
-
-
Destination point Service.
ContosoO365DocSync\ContosoO365DocSync.Service\DestinationService.cs
- Create destination point
public async Task<DestinationPoint> AddDestinationPoint(string fileName, DestinationPoint destinationPoint)
- Get destination points
public async Task<DestinationCatalog> GetDestinationCatalog(string fileName)
- Delete destination point
public async Task DeleteDestinationPoint(Guid destinationPointId)
-
-
Entity project ContosoO365DocSync.Entity
-
SourcePoint entity.
ContosoO365DocSync\ContosoO365DocSync.Entity\SourcePoint.cs
-
DestinationPoint
ContosoO365DocSync\ContosoO365DocSync.Entity\DestinationPoint.cs
-
-
WebJob project ContosoO365DocSync.WebJob
-
Document Service
ContosoO365DocSync\ContosoO365DocSync.Service\DocumentService.cs
-
Download the document
static private async Task<Stream> GetFileStreamAsync(string authHeader, string destinationFileName, FileContextInfo fileContextInfo)
-
Upload the document
static public void UpdateStream(IEnumerable<DestinationPoint> destinationPoints, string value, Stream stream, DocumentUpdateResult updateResult)
-
-
Azure Storage Service
ContosoO365DocSync\ContosoO365DocSync.Service\AzureStorageService.cs
-
Get Queue
public CloudQueue GetQueue(string queueName)
-
Get Table
public CloudTable GetTable(string tableName)
-
Write a message to the queue.
public Task WriteMessageToQueue(string queueMessage, string queueName)
-
-
- If you have any trouble running this sample, please log an issue.
- Questions about Microsoft Graph development in general should be posted to Stack Overflow. Make sure that your questions or comments are tagged with microsoftgraph.
We encourage you to contribute to our samples. For guidelines on how to proceed, see our contribution guide.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Copyright (c) 2017 Microsoft. All rights reserved.