Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidski/msgraphr
📇Read Office 365 data via the MS Graph API and R
https://github.com/davidski/msgraphr
msgraph office365 rstats sharepoint-online
Last synced: 22 days ago
JSON representation
📇Read Office 365 data via the MS Graph API and R
- Host: GitHub
- URL: https://github.com/davidski/msgraphr
- Owner: davidski
- License: other
- Created: 2018-10-07T18:47:04.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2021-01-22T03:47:44.000Z (almost 4 years ago)
- Last Synced: 2024-10-12T21:27:48.314Z (29 days ago)
- Topics: msgraph, office365, rstats, sharepoint-online
- Language: R
- Size: 18.6 KB
- Stars: 16
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - davidski/msgraphr - 📇Read Office 365 data via the MS Graph API and R (R)
README
---
output:
md_document:
variant: markdown_github
---```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```# msgraphr
> NOTE: This package is quite raw. I am not currently using Office 365
and cannot develop or debug features apart from the general
MS Graph interface. Pull Requests are **most** welcome!**msgraphr** is a minimal R wrapper of the SharePoint Online (Office 365)
APIs, aiming to allow R users to pull down list information as dataframes for
local analysis. Liberate your data from SharePoint!## Installation
`devtools::install_github("davidski/msgraphr")`
## Authentication
* Create an application at https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade with the following fields:
+ `Name` Name of your MS Graph app e.g. `msgraphr_query`.
+ Under `Redirect URIs` at a web link pointing to `http://localhost:1410`.
+ Take note of the `Application Id`, this will be your `client_id`.
+ Under `Certificates & Secrets` generate an application secret and note the
value for use as the `Client Secret`.
+ Add a Platform and select `Web`.
+ `Allow Implicit Flow`: Unchecked
+ Under API Permissions, alter the Microsoft Graph permissions to
specify the scopes for which you wish to grant access.
* (OPTIONAL, BUT RECOMMENDED) Set the `MSGRAPH_PAT` environment variable to a
file location on disk for `msgraphr` to cache the Oauth2.0 token. Defaults
to the current working directory.* To perform the initial authentication.
```
msgraph_auth(client_id = "REDACTED",
client_secret = "REDACTED" )
```
### Scope used* `msgraphr` requests the following access scopes:
+ `User` and `Sites.Read.All` for SharePoint online read access
+ `offline_user` so that tokens may be auto-refreshed without further user action## Usage
```{r example, eval = FALSE}
library(tidyverse)
library(msgraphr)# auth
token <- msgraph_auth()# list all the sites to which you have accesss
get_sites(search = "", token) %>% head(1) %>% pull(id) -> my_site# list all the lists on that site
get_lists(site_id = my_site, token) %>% head(1) %>% pull(id) -> my_list# fetch all the entries on that list
get_list_entries(site_id = my_site, list_id = my_list, token)# go forth and do amazing things!
```## References
See the [MS Graph](https://developer.microsoft.com/en-us/graph/docs/concepts/overview) API documentation.
## Contributing
Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). By participating in this project you agree to abide by its terms.
## License
The [MIT License](LICENSE) applies.