Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azure/azuregraph
R interface to Microsoft Graph REST API
https://github.com/azure/azuregraph
azure-active-directory-graph-api azure-sdk-r microsoft-graph-api r
Last synced: about 1 month ago
JSON representation
R interface to Microsoft Graph REST API
- Host: GitHub
- URL: https://github.com/azure/azuregraph
- Owner: Azure
- License: other
- Created: 2019-05-21T00:34:43.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-06T07:23:43.000Z (about 1 year ago)
- Last Synced: 2024-10-07T12:35:11.486Z (about 1 month ago)
- Topics: azure-active-directory-graph-api, azure-sdk-r, microsoft-graph-api, r
- Language: R
- Size: 268 KB
- Stars: 31
- Watchers: 19
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# AzureGraph
[![CRAN](https://www.r-pkg.org/badges/version/AzureGraph)](https://cran.r-project.org/package=AzureGraph)
![Downloads](https://cranlogs.r-pkg.org/badges/AzureGraph)
![R-CMD-check](https://github.com/Azure/AzureGraph/workflows/R-CMD-check/badge.svg)A simple interface to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview). The companion package to [AzureRMR](https://github.com/Azure/AzureRMR) and [AzureAuth](https://github.com/Azure/AzureAuth).
Microsoft Graph is a comprehensive framework for accessing data in various online Microsoft services. Currently, this package aims to provide an R interface only to the Azure Active Directory part, with a view to supporting interoperability of R and Azure: users, groups, registered apps and service principals. Like AzureRMR, it could potentially be extended to cover other services.
The primary repo for this package is at https://github.com/Azure/AzureGraph; please submit issues and PRs there. It is also mirrored at the Cloudyr org at https://github.com/cloudyr/AzureGraph. You can install the development version of the package with `devtools::install_github("Azure/AzureGraph")`.
## Authentication
The first time you authenticate with a given Azure Active Directory tenant, you call `create_graph_login()` and supply your credentials. R will prompt you for permission to create a special data directory in which to save the obtained authentication token and AD Graph login. Once this information is saved on your machine, it can be retrieved in subsequent R sessions with `get_graph_login()`. Your credentials will be automatically refreshed so you don't have to reauthenticate.
See the "Authentication basics" vignette for more details on how to authenticate with AzureGraph.
## Sample workflow
AzureGraph currently includes methods for working with registered apps, service principals, users and groups. A `call_graph_endpoint()` method is also supplied for making arbitrary REST calls.
```r
library(AzureGraph)# authenticate with AAD
# - on first login, call create_graph_login()
# - on subsequent logins, call get_graph_login()
gr <- create_graph_login()# list all users in this tenant
gr$list_users()# list all app registrations
gr$list_apps()# my user information
me <- gr$get_user("me")# my groups
head(me$list_group_memberships())# my registered apps
me$list_owned_objects(type="application")# register a new app
# by default, this will have a randomly generated strong password with duration 2 years
app <- gr$create_app("AzureR_newapp")# get the associated service principal
app$get_service_principal()# using it in conjunction with AzureRMR RBAC
AzureRMR::get_azure_login()$
get_subscription("sub_id")$
get_resource_group("rgname")$
add_role_assignment(app, "Contributor")
```---