def test1_connect_with_app_principal(self): credentials = ClientCredential(settings.get('client_credentials').get('client_id'), settings.get('client_credentials').get('client_secret')) ctx = ClientContext.connect_with_credentials(settings['url'], credentials) self.assertIsInstance(ctx.authentication_context.provider, ACSTokenProvider) self.assertIsInstance(ctx.authentication_context.provider.token, TokenResponse) self.assertTrue(ctx.authentication_context.provider.token.is_valid)
def main(): sdlc = 'dev' site_url = \ 'https://alterramtnco.sharepoint.com/:x:/r/teams/UDPDevTeam/MasterData/dev/access/lkpEntityLocation.xlsx?d=' \ 'w6788e8cf8c984cb3a5da58b7fe09b45c&csf=1&web=1&e=XKVdtd' # site_url = 'https://alterramtnco.sharepoint.com/:f:/r/teams/UDPDevTeam/MasterData/dev?csf=1&web=1&e=wlVsxo' # site_url = 'https://alterramtnco.sharepoint.com/:f:/r/teams/UDPDevTeam/MasterData/dev?csf=1&web=1&e=oZh6g1' # MasterData > Dev # site_url = 'https://alterramtnco.sharepoint.com/:f:/r/teams/UDPDevTeam/MasterData/dev?csf=1&web=1&e=Hb8FYE' # site_url = 'https://alterramtnco.sharepoint.com/:w:/r/teams/UDPDevTeam/MasterData/dev/Test.docx' \ # '?d=w0ad8c687dc9a4725a98b1d18953eb0ae&csf=1&web=1&e=UWAWMa' site_url = 'https://alterramtnco.sharepoint.com/teams/UDPDevTeam' # site_url = 'https://alterramtnco.sharepoint.com/:f:/r/teams/UDPDevTeam' ctx = ClientContext.connect_with_credentials( site_url, UserCredential('*****@*****.**', '4@Potatoes')) # web = ctx.web # ctx.load(web) # ctx.execute_query() # print("Web title: {0}".format(web.properties['Title'])) # list_obj = ctx.web.lists.get_by_title('MasterData') # folder = list_obj.rootFolder # ctx.load(folder) # ctx.execute_query() # print("List url: {0}".format(folder.properties["ServerRelativeUrl"])) # ServerRelativeUrl = "{0}".format(folder.properties["ServerRelativeUrl"]) # upload_file(ctx) # 'https://alterramtnco.sharepoint.com/:f:/r/teams/UDPDevTeam/MasterData/dev?csf=1&web=1&e=DRKVOw' read_folder_and_files(ctx, 'Form Templates') # read_all_folders(ctx) # print(ctx.get_lists()) download_file(ctx)
def test2_connect_with_user_credentials(self): ctx = ClientContext.connect_with_credentials(settings['url'], user_credentials) self.assertIsInstance(ctx.authentication_context.provider, SamlTokenProvider)
ListTemplateType.Contacts)) fake = Faker() for idx in range(0, 100): contact_properties = { 'Title': fake.name(), 'FullName': fake.name(), 'Email': fake.email(), 'Company': fake.company(), 'WorkPhone': fake.phone_number(), 'WorkAddress': fake.street_address(), 'WorkCity': fake.city(), 'WorkZip': fake.postcode(), 'WorkCountry': fake.country(), 'WebPage': { 'Url': fake.url() } } contact_item = contacts_list.add_item(contact_properties) context.execute_query() print("Contact '{0}' has been created".format( contact_item.properties["Title"])) if __name__ == '__main__': ctx = ClientContext.connect_with_credentials( "https://mediadev8.sharepoint.com/sites/team", UserCredential(settings['user_credentials']['username'], settings['user_credentials']['password'])) generate_contacts(ctx)
from settings import settings from office365.runtime.auth.user_credential import UserCredential from office365.sharepoint.client_context import ClientContext def print_upload_progress(offset): print("Uploaded '{0}' bytes...".format(offset)) if __name__ == '__main__': ctx = ClientContext.connect_with_credentials( settings['url'], UserCredential(settings['user_credentials']['username'], settings['user_credentials']['password'])) size_1Mb = 1000000 local_path = "../../../tests/data/big_buck_bunny.mp4" target_url = "/Shared Documents" result_file = ctx.web.get_folder_by_server_relative_url(target_url) \ .files.create_upload_session(local_path, size_1Mb, print_upload_progress) ctx.execute_query() print('File {0} has been uploaded successfully'.format( result_file.serverRelativeUrl))
from random import randint from settings import settings from office365.runtime.auth.client_credential import ClientCredential from office365.sharepoint.client_context import ClientContext ctx = ClientContext.connect_with_credentials( "https://mediadev8.sharepoint.com/sites/team", ClientCredential(settings['client_credentials']['client_id'], settings['client_credentials']['client_secret'])) # 1. Load existing list items list_tasks = ctx.web.lists.get_by_title("Tasks") items = list_tasks.items.get().execute_query() # 2. Update list items via Batch mode for task_id, item in enumerate(items): task_prefix = str(randint(0, 10000)) item.set_property("Title", f"Task {task_prefix}") item.update() ctx.execute_batch()
import os import tempfile from office365.runtime.auth.clientCredential import ClientCredential from office365.sharepoint.client_context import ClientContext from settings import settings ctx = ClientContext.connect_with_credentials( settings.get('url') + "/sites/team", ClientCredential( settings.get('client_credentials').get('client_id'), settings.get('client_credentials').get('client_secret'))) file_url = '/sites/team/Shared Documents/big_buck_bunny.mp4' download_path = os.path.join(tempfile.mkdtemp(), os.path.basename(file_url)) with open(download_path, "wb") as local_file: source_file = ctx.web.get_file_by_server_relative_url(file_url) source_file.download(local_file) ctx.execute_query() print("[Ok] file has been downloaded: {0}".format(download_path))
from office365.runtime.auth.clientCredential import ClientCredential from office365.sharepoint.client_context import ClientContext from settings import settings def set_proxy(request): proxies = {settings['url']: 'https://127.0.0.1:8888'} request.proxies = proxies ctx = ClientContext.connect_with_credentials( settings['url'], ClientCredential(settings['client_credentials']['client_id'], settings['client_credentials']['client_secret'])) ctx.get_pending_request().beforeExecute += set_proxy target_web = ctx.web ctx.load(target_web) ctx.execute_query()
if __name__ == '__main__': site_url = 'https://office365-my.sharepoint.com/personal/*put your user here*/_layouts/15/onedrive.aspx' # User credentials username = '******' password = '******' # Auth #context_auth = AuthenticationContext(url=settings[site_url]) #if context_auth.acquire_token_for_user(username=settings['user_credentials']['username'], # password=settings['user_credentials']['password']): # Execute command ctx = ClientContext.connect_with_credentials( site_url, UserCredential(settings['user_credentials'][username], settings['user_credentials'][password])) # upload_file(ctx) #download_file(ctx) read_folder_and_files(ctx) # get a source file located in library 'Shared Documents' # source_file = ctx.web.get_file_by_server_relative_url("/teams/DemoSite/Shared Documents/Guide.docx") # move a file into sub folder called 'Archive' # source_file.moveto("/teams/DemoSite/Shared Documents/Archive/Guide.docx", 1) # execute a query # ctx.execute_query()
def getMyDriveClient(tenant_name, user_principal_name, password): user_name = user_principal_name.split('@')[0] my_drive_url = "https://{0}-my.sharepoint.com/personal/{1}_{0}_onmicrosoft_com/".format(tenant_name, user_name) return ClientContext.connect_with_credentials(my_drive_url, UserCredential(user_principal_name, password))