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)
예제 #3
0
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()