2017-07-26 1 views
0

Je dois accéder au dossier des tâches de tous les utilisateurs de O365 dans mon organisation. Pour cela, j'utilise Exchange Web Service (EWS). J'ai été en mesure d'accéder à mon propre dossier de tâches et celui qui a été partagé avec moi, mais j'ai besoin d'accéder à tous.Service Web Exchange (EWS): Comment accéder au dossier des tâches de tous les utilisateurs dans une organisation

Je voudrais un moyen de forcer chaque compte à partager son dossier de tâches avec moi pour accomplir ce que je veux faire (je ne peux pas demander à tout le monde dans l'organisation de le faire lui-même, ce serait compliqué car il y a environ 400 utilisateurs).

Y a-t-il une permission que je peux m'autoriser en tant qu'administrateur pour éviter le dossier partagé ou un script que je pourrais exécuter et qui ferait cette tâche pour moi?

Voici mon code à ce jour:

from exchangelib import DELEGATE, IMPERSONATION, Account, Credentials, ServiceAccount, \ 
    EWSDateTime, EWSTimeZone, Configuration, NTLM, CalendarItem, Message, \ 
    Mailbox, Attendee, Q, ExtendedProperty, FileAttachment, ItemAttachment, \ 
    HTMLBody, Build, Version 
import json 

credentials = Credentials(username='[email protected]', password='password') 
config = Configuration(server='outlook.office365.com' , credentials=credentials) 
account = Account(primary_smtp_address='[email protected]', credentials=credentials, config=config, 
    autodiscover=False, access_type=DELEGATE) 


all_tasks = [] 
json_tasks = [] 
for t in account.tasks.all(): 
    all_tasks.append(t) 


for t in all_tasks: 
    data = {"Action" : t.subject, "actualWork": t.actual_work, "Project": t.billing_information, "Status": t.status, "Owner": t.owner, "isComplete": t.is_complete} 
    json_data = json.dumps(data) 
    print(json_data) 

print(account.tasks.total_count) 

Répondre

1

Vous devez collecter toutes les adresses e-mail, et vous avez besoin de votre administrateur Exchange pour accorder des autorisations suffisantes pour ces comptes à partir du compte que vous vous connectez avec. L'octroi d'autorisations peut généralement être effectué avec un script PowerShell à l'aide des commandes d'administration sur le serveur Exchange.