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!
devtools::install_github("davidski/msgraphr")
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
: UncheckedUnder 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" )
msgraphr
requests the following access scopes:User
and Sites.Read.All
for SharePoint online read accessoffline_user
so that tokens may be auto-refreshed without
further user actionlibrary(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!
See the MS Graph API documentation.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The MIT License applies.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.