Skip to content

eperegudov/Office365-REST-Python-Client

 
 

Repository files navigation

About

Office 365 & Microsoft Graph Library for Python

The list of supported APIs:

Status

Build Status PyPI

Installation

Use pip:

pip install Office365-REST-Python-Client

Usage

Working with SharePoint resources

There are two approaches available to perform REST queries:

  1. via ClientRequest class where you need to construct REST queries by specifying endpoint url, headers if required and payload (aka low level approach)

The first example demonstrates how to read Web resource:

import json

from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.runtime.client_request import ClientRequest
from office365.runtime.utilities.request_options import RequestOptions

ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username, password):
  request = ClientRequest(ctx_auth)
  options = RequestOptions("{0}/_api/web/".format(url))
  options.set_header('Accept', 'application/json')
  options.set_header('Content-Type', 'application/json')
  data = request.execute_request_direct(options)
  s = json.loads(data.content)
  web_title = s['Title']
  print "Web title: " + web_title
else:
  print ctx_auth.get_last_error()
  1. via ClientContext class where you target client object resources such as Web, ListItem and etc.
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext

ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username, password):
  ctx = ClientContext(url, ctx_auth)
  web = ctx.web
  ctx.load(web)
  ctx.execute_query()
  print "Web title: {0}".format(web.properties['Title'])

else:
  print ctx_auth.get_last_error()

Python Version

Python 2.7 & 3.4–3.6 are supported.

Third Party Libraries and Dependencies

The following libraries will be installed when you install the client library:

About

Office 365 & Microsoft Graph Library for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%