msgraph-sdk-javascript
Visual Studio Code
msgraph-sdk-javascript | Visual Studio Code | |
---|---|---|
14 | 2,844 | |
714 | 158,365 | |
1.1% | 0.7% | |
9.2 | 10.0 | |
5 days ago | 5 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
msgraph-sdk-javascript
- Import AzureAD app role assignments into Terraform state
-
Find the length of an email attachment name.
# Import the required modules Import-Module -Name AzureAD, Microsoft.Graph.Authentication, Microsoft.Graph.MailMessages -Force # Authenticate with MFA using the admin account $adminUsername = "XXXX.xxx" Connect-AzureAD -AccountUpn $adminUsername try { # Prompt for user's email address $userEmailAddress = Read-Host -Prompt "Enter the user's email address" # Get the user's emails with attachments $accessToken = Get-AzureADAccessToken -ResourceUrl "https://graph.microsoft.com" $graphClient = New-Object Microsoft.Graph.GraphServiceClient -ArgumentList ($accessToken.AccessToken) $emails = $graphClient.Users[$userEmailAddress].Messages.Request().Top(100).Filter("hasAttachments eq true").GetAsync().Result # Filter emails with attachments having names longer than 50 characters $longAttachments = $emails.Attachments | Where-Object { $_.Name.Length -gt 50 } # Output the attachments, subject, and date of the email if ($longAttachments.Count -gt 0) { Write-Host "Attachments with names longer than 50 characters for $userEmailAddress" foreach ($attachment in $longAttachments) { $email = $emails | Where-Object { $_.Attachments -contains $attachment } Write-Host "Subject: $($email.Subject)" Write-Host "Date: $($email.ReceivedDateTime.DateTime)" Write-Host "Attachment Name: $($attachment.Name)" Write-Host "" } } else { Write-Host "No attachments found with names longer than 50 characters for $userEmailAddress." } } catch { Write-Host "Failed to retrieve email attachments: $($_.Exception.Message)" } finally { # Disconnect from Azure AD Disconnect-AzureAD -Confirm:$false }
- La ville de bordeaux met en libre accès les vitesses enregistrées par ses radars pédagogiques : la grande majorité des automobilistes ne respectent pas les limitations de vitesse.
-
Container access to containers based on azure AD groups
labels: - "traefik.http.middlewares.traefik-azure-auth-group1.azure.authProvider=traefik-forward-auth" - "traefik.http.middlewares.traefik-azure-auth-group1.azure.resource=https://graph.microsoft.com/" - "traefik.http.middlewares.traefik-azure-auth-group1.azure.requiredGroup=group1"
-
Filtering app names that start with
$AccessToken = (Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com").Token $AccessToken = ConvertTo-SecureString -AsPlainText $AccessToken -Force If($connect -eq $null){$connect = Connect-MgGraph -AccessToken $AccessToken} $Apps = Get-MgServicePrincipal -All $today = Get-Date $credentials = foreach ($App in $Apps) { foreach ($Credential in $App.PasswordCredentials) { [pscustomobject]@{ DisplayName = $App.DisplayName.where({ $_ -notlike "sp-*" }) Id = $App.Id AppId = $App.AppId EndDateTime = $Credential.EndDateTime PwdDisplayName = $Credential.DisplayName KeyId = $Credential.KeyId } } }
- Have you worked with Microsoft Graph API?
-
Backup DNS if/when AdGuard container doesn't work
The results from that host are almost all MS (graph.microsoft.com, c1-shared-15.cdn.office.net, teams.microsoft.com, webshell.suite.office.com) This happens to be my linux laptop, but I use several MS products in chrome and do a lot of api testing with MS products. So this makes sense.
-
Need some script helping - M365 API
$ApplicationID = 'applicationid from my app registration with relevant permissions' $ApplicationKey = 'application secret' $tenantid = 'obviously the tenant id' $URI = 'teams webhook url' $Minutes = '2' $ExchangeOnline = 'yes' $MicrosoftForms = '' $MicrosoftIntune = '' $MicrosoftKaizala = '' $SkypeforBusiness = '' $MicrosoftDefenderATP = '' $MicrosoftFlow = '' $FlowinMicrosoft365 = '' $MicrosoftTeams = 'yes' $MobileDeviceManagementforOffice365 = '' $OfficeClientApplications = '' $Officefortheweb = '' $OneDriveforBusiness = 'yes' $IdentityService = '' $Office365Portal = 'yes' $OfficeSubscription = '' $Planner = '' $PowerApps = '' $PowerAppsinMicrosoft365 = '' $PowerBI = '' $AzureInformationProtection = '' $SharePointOnline = 'yes' $MicrosoftStaffHub = '' $YammerEnterprise = '' $Microsoft365Suite = '' $Incident = 'yes' $Advisory = '' $ServicesArray = @() if($ExchangeOnline){$ServicesArray += '$_.service -eq "Exchange Online"'} if($MicrosoftForms){$ServicesArray += '$_.service -eq "Microsoft Forms"'} if($MicrosoftIntune){$ServicesArray += '$_.service -eq "Microsoft Intune"'} if($MicrosoftKaizala){$ServicesArray += '$_.service -eq "Microsoft Kaizala"'} if($SkypeforBusiness){$ServicesArray += '$_.service -eq "Skype for Business"'} if($MicrosoftDefenderATP){$ServicesArray += '$_.service -eq "Microsoft Defender ATP"'} if($MicrosoftFlow){$ServicesArray += '$_.service -eq "Microsoft Flow"'} if($FlowinMicrosoft365){$ServicesArray += '$_.service -eq "Flow in Microsoft 365"'} if($MicrosoftTeams){$ServicesArray += '$_.service -eq "Microsoft Teams"'} if($MobileDeviceManagementforOffice365){$ServicesArray += '$_.service -eq "Mobile Device Management for Office 365"'} if($OfficeClientApplications){$ServicesArray += '$_.service -eq "Office Client Applications"'} if($Officefortheweb){$ServicesArray += '$_.service -eq "Office for the web"'} if($OneDriveforBusiness){$ServicesArray += '$_.service -eq "OneDrive for Business"'} if($IdentityService){$ServicesArray += '$_.service -eq "Identity Service"'} if($Office365Portal){$ServicesArray += '$_.service -eq "Office 365 Portal"'} if($OfficeSubscription){$ServicesArray += '$_.service -eq "Office Subscription"'} if($Planner){$ServicesArray += '$_.service -eq "Planner"'} if($PowerApps){$ServicesArray += '$_.service -eq "PowerApps"'} if($PowerAppsinMicrosoft365){$ServicesArray += '$_.service -eq "PowerApps in Microsoft 365"'} if($PowerBI){$ServicesArray += '$_.service -eq "Power BI"'} if($AzureInformationProtection){$ServicesArray += '$_.service -eq "Azure Information Protection"'} if($SharepointOnline){$ServicesArray += '$_.service -eq "Sharepoint Online"'} if($MicrosoftStaffHub){$ServicesArray += '$_.service -eq "Microsoft StaffHub"'} if($YammerEnterprise){$ServicesArray += '$_.service -eq "Yammer Enterprise"'} if($Microsoft365Suite){$ServicesArray += '$_.service -eq "Microsoft 365 Suite"'} $ServicesString = $ServicesArray -Join " -or " $ClassificationArray = @() if($Incident){$ClassificationArray += '$_.Classification -eq "incident"'} if($Advisory){$ClassificationArray += '$_.Classification -eq "advisory"'} $ClassificationString = $ClassificationArray -Join " -or " $body = @{ grant_type="client_credentials"; resource="https://graph.microsoft.com"; client_id=$ApplicationID; client_secret=$ApplicationKey; earliest_time="-$($Minutes)m@s"} $oauth = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$tenantid/oauth2/token?api-version=1.0" -Body $body $headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"} $messages = (Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/issues" -Headers $headerParams -Method Get) $incidents = $messages.Value | Where-Object ([scriptblock]::Create($ClassificationString)) | Where-Object ([scriptblock]::Create($ServicesString)) $Now = Get-Date ForEach ($inc in $incidents){ # Add updates posted last $Minutes If (($Now - [datetime]$inc.lastModifiedDateTime).TotalMinutes -le $Minutes) { # Set the color line of the card according to the Classification of the event, or if it has ended if ($inc.Classification -eq "incident" -and $inc.EndTime -eq $null) { $color = "ff0000" # Red } else { if ($inc.EndTime -ne $null) { $color = "00cc00" # Green } else { $color = "ffff00" # Yellow } } $Message = $inc.posts.description.content[$inc.Messages.Count-1] | ConvertTo-Json $Payload = @" { "@context": "https://schema.org/extensions", "@type": "MessageCard", "potentialAction": [ { "@type": "OpenUri", "name": "Post INC document", "targets": [ { "os": "default", "uri": "$($inc.PostIncidentDocumentUrl)" } ] }, ], "sections": [ { "facts": [ { "name": "Service:", "value": "$($inc.service)" }, { "name": "Status:", "value": "$($inc.Status)" }, { "name": "Classification:", "value": "$($inc.classification)" } ], "text": $($Message) } ], "summary": "$($Inc.Title)", "themeColor": "$($color)", "title": "$($Inc.Id) - $($Inc.Title)" } "@ Invoke-RestMethod -uri $uri -Method Post -body $Payload -ContentType 'application/json; charset=utf-8' } }
-
AzureAD -filter string multiple values
$token = (Get-AzAccessToken -ResourceUrl https://graph.microsoft.com).token
-
How do your create a JWT to access MSGRAPH API with Certificate Based Authentication???
# Get the certificate from the certificate store $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("MY", "LocalMachine") $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadOnly) $cert = $store.Certificates | Where-Object { $_.Subject -eq "CN=your_certificate_name" } # Build the JWT assertion $header = @{alg="RS256";typ="JWT"} $payload = @{iss="your_client_id";sub="your_client_id";aud="https://graph.microsoft.com";exp=(Get-Date).AddMinutes(10).ToUnixTime()} $headerEncoded = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(($header | ConvertTo-Json))) $payloadEncoded = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(($payload | ConvertTo-Json))) $data = "{0}.{1}" -f $headerEncoded, $payloadEncoded $signature = [System.Convert]::ToBase64String($cert.GetRSAPrivateKey().SignData(([Text.Encoding]::UTF8.GetBytes($data)), "SHA256")) $jwt = "{0}.{1}.{2}" -f $headerEncoded, $payloadEncoded, $signature # Make the request to the Microsoft Graph API $response = Invoke-WebRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/users?$select
Visual Studio Code
-
How to Add Firebase Authentication To Your NodeJS App
A code editor (VS Code is my go-to IDE), but feel free to use any code editor you're comfortable with.
-
Create a Chat App With Node.js
First, grab your favorite command-line tool, Terminal or Warp, and a code editor, preferably VS Code and let’s begin.
-
Asynchronous Programming in C#
C# is very good as a language, have developed in it for 5+ years. The problem is the gap between what MSFT promises to management and actually delivers to developers. You really really need to fully read the fine print, think of the omissions in documentation and implement a proof-of-concept that almost implements the full solution to find out the hidden gotchas.
For example, even probably their best product VS Code only got reasonable multiple screens support last year: https://github.com/microsoft/vscode/issues/10121#issuecommen...
And then, on the other end of the spectrum, you have Teams.
-
8 Essential VS Code Extensions [2024]
Hey fellow amazing developers, we got you Essential VS Code Extensions for 2024 (these are especially important for web developers) recommended by our developers at evotik, we wont talk about ESlint nor Prettier which all of you already know.
-
scrape-yahoo-finance
Visual Studio Code (VS Code): Developed by Microsoft, VS Code is a lightweight yet powerful IDE with extensive support for Python development through extensions. It offers features like IntelliSense, debugging, and built-in Git integration.
-
XDebug with WP-Setup
In VSCode for example this can be easily done by adding the following .vscode/launch.json file:
-
I can't stand using VSCode so I wrote my own (it wasn't easy)
I had a near-identical experience. I looked into switching in 2019 and ran into this 2016 bug which was a showstopper for me. Fixed it myself, grand total 4 line diff. https://github.com/microsoft/vscode/issues/10643
-
Employee Management System using Python.
When working in Visual Studio Code (VS Code), always create a new Python file for your project.
-
A deep dive into progressive web apps (PWA)
Code Editor: Choose a code editor like Visual Studio Code that offers good support for web technologies and extensions for PWA development.
-
Build a Music Player with Python
When working in Visual Studio Code (VS Code), create a new Python file for our music player project. It's helpful to have separate files for different parts of your project.
What are some alternatives?
cli-microsoft365 - Manage Microsoft 365 and SharePoint Framework projects on any platform
thonny - Python IDE for beginners
vscode-msgraph-autocomplete - This VSCode extension allows you to auto-complete the Microsoft Graph API URLs you are writing. You get the most useful Microsoft Graph Explorer functionality in your favorite editor.
reactide - Reactide is the first dedicated IDE for React web application development.
mgt-react-codetour - Interactive tour to help you build your first React app using Microsoft Graph Toolkit
Spyder - Official repository for Spyder - The Scientific Python Development Environment
upload-files-to-sp-using-graph - Example of how you can upload files to sharepoint using microsoft graph
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
Angular - Deliver web apps with confidence 🚀
KDevelop - Cross-platform IDE for C, C++, Python, QML/JavaScript and PHP
office365-cli - Manage Microsoft 365 and SharePoint Framework projects on any platform [Moved to: https://github.com/pnp/cli-microsoft365]
vscodium - binary releases of VS Code without MS branding/telemetry/licensing