else: return value def load_settings(): cp = ConfigParser(interpolation=SecEnvInterpolation()) root_dir = os.path.dirname(os.path.abspath(__file__)) config_file = os.path.join(root_dir, 'settings.cfg') cp.read(config_file) return cp settings = load_settings() # shortcuts test_tenant = settings.get('default', 'tenant') test_client_credentials = ClientCredential(settings.get('client_credentials', 'client_id'), settings.get('client_credentials', 'client_secret')) test_user_credentials = UserCredential(settings.get('user_credentials', 'username'), settings.get('user_credentials', 'password')) test_site_url = settings.get('default', 'site_url') test_root_site_url = settings.get('default', 'root_site_url') test_team_site_url = settings.get('default', 'team_site_url') test_admin_site_url = settings.get('default', 'admin_site_url') test_user_principal_name = settings.get('users', 'test_user1') test_user_principal_name_alt = settings.get('users', 'test_user2')
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(settings['url']).with_credentials(credentials) self.assertIsInstance(ctx.authentication_context._provider, ACSTokenProvider)
import csv import os import tempfile from settings import settings from office365.runtime.auth.client_credential import ClientCredential from office365.sharepoint.client_context import ClientContext "Demonstrates how to export a List data" ctx = ClientContext.connect_with_credentials( "https://mediadev8.sharepoint.com/sites/team", ClientCredential(settings['client_credentials']['client_id'], settings['client_credentials']['client_secret'])) # 1.retrieve list data list_title = "Contacts_Large" list_to_export = ctx.web.lists.get_by_title(list_title) list_items = list_to_export.items.top(100) ctx.load(list_items) ctx.execute_query() if len(list_items) == 0: print("No data found") # 2.export to a file path = os.path.join(tempfile.mkdtemp(), "Contacts.csv") with open(path, 'w') as fh: fields = list_items[0].properties.keys() w = csv.DictWriter(fh, fields) w.writeheader() for item in list_items:
from office365.runtime.auth.client_credential import ClientCredential from office365.sharepoint.client_context import ClientContext from tests import load_settings settings = load_settings() def set_proxy(request): proxies = {settings.get('default', 'site_url'): 'https://127.0.0.1:8888'} request.proxies = proxies ctx = ClientContext(settings.get('default', 'site_url'))\ .with_credentials(ClientCredential(settings.get('client_credentials', 'client_id'), settings.get('client_credentials', 'client_secret'))) ctx.pending_request().beforeExecute += set_proxy target_web = ctx.web ctx.load(target_web) ctx.execute_query()