def setUpClass(cls): # Due to Outlook REST API v1.0 BasicAuth Deprecation # (refer https://developer.microsoft.com/en-us/office/blogs/outlook-rest-api-v1-0-basicauth-deprecation/) # NetworkCredentialContext class should be no longer utilized # ctx_auth = NetworkCredentialContext(username=settings['user_credentials']['username'], # password=settings['user_credentials']['password']) ctx_auth = AuthenticationContext(url=settings['tenant']) ctx_auth.acquire_token_password_grant( client_credentials=settings['client_credentials'], user_credentials=settings['user_credentials']) cls.client = OutlookClient(ctx_auth)
def connect(self, _url, _id, _secret): """ Authenticates to the remote SPO repository and creates a context :param _url: :param _id: :param _secret: :return: """ _auth_context = AuthenticationContext(_url, self.proxy) if _auth_context.acquire_token_for_app(_id, _secret): self.context = ClientContext(_url, _auth_context, self.proxy) self.context.load(self.context.web) self.context.execute_query() else: raise Exception("Could not authenticate")
for item in items: print("Item title: {0}".format(item.properties["Title"])) def create_list_item(): print("Create list item example...") list_object = ctx.web.lists.get_by_title(listTitle) item_properties = { '__metadata': { 'type': 'SP.Data.TasksListItem' }, 'Title': 'New Task' } item = list_object.add_item(item_properties) ctx.execute_query() print("List item '{0}' has been created.".format(item.properties["Title"])) if __name__ == '__main__': ctxAuth = AuthenticationContext(url=settings['url']) if ctxAuth.acquire_token_for_user(username=settings['username'], password=settings['password']): ctx = ClientContext(settings['url'], ctxAuth) read_list_items() create_list_item() filter_list_items() else: print(ctxAuth.get_last_error())
def setUpClass(cls): ctx_auth = AuthenticationContext(url=settings['url']) ctx_auth.acquire_token_for_user( username=settings['user_credentials']['username'], password=settings['user_credentials']['password']) cls.context = ClientContext(settings['url'], ctx_auth)
import json from spoklient.runtime.auth.authentication_context import AuthenticationContext from spoklient.runtime.client_request import ClientRequest from spoklient.runtime.utilities.request_options import RequestOptions from spoklient.sharepoint.client_context import ClientContext app_settings = { 'url': 'https://contoso.sharepoint.com/', 'client_id': '8efc226b-ba3b-4def-a195-4acdb8d20ca9', 'client_secret': '', } if __name__ == '__main__': context_auth = AuthenticationContext(url=app_settings['url']) if context_auth.acquire_token_for_app(client_id=app_settings['client_id'], client_secret=app_settings['client_secret']): """Read Web client object""" ctx = ClientContext(app_settings['url'], context_auth) request = ClientRequest(ctx) options = RequestOptions("{0}/_api/web/".format(app_settings['url'])) options.set_header('Accept', 'application/json') options.set_header('Content-Type', 'application/json') data = ctx.execute_request_direct(options) s = json.loads(data.content) web_title = s['Title'] print("Web title: {0}".format(web_title)) else: print(context_auth.get_last_error())