1

最近、GoogleのディレクトリAPIを使用してhttps://admin.google.com/に追加されたユーザーを正常に取得し、そのサーバーのサーバー認証を実行しました。オフィスからユーザーリストを取得する方法365 admin?

今、Office 365でも同じことが必要です。どこから始めたらいいですか?同様https://admin.google.com/それはオフィスで365

を何を持っているん**は、それは私が**

どこで、どのようにOffice 365のAPIを開始するために必要なもののAzure Active Directoryのサブスクリプションですか?私はそれがより多くの見通しに関連しているように、このhttps://msdn.microsoft.com/en-us/office/office365/api/api-catalogが見えたが、私のpythonから働いているとOffice 365の管理者

からのユーザーは、私がオフィス365用のGoogle-のpython-API-クライアントのようなものを得ることができません。けれどもそれは我々がP12またはJSONファイルを使用して認証を行うことができますGoogleのAPIのように、サーバ認証サービスにサーバーを持っています、ここhttps://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-libraries

正式に利用可能ではありません。私は、コンソールアプリケーションで働いていますので、これは必要なのはなぜここ

おかげ

+0

PowershellコマンドGet-MsolUserのようなものはありますか? https://docs.microsoft.com/en-us/powershell/module/msonline/get-msoluser?view=azureadps-1.0 – Matt

+0

私の場合はこれがうまくいくと思いますか?私はubuntuプラットフォームでPythonで作業しているからです。はい、サブプロセスと呼ばれるモジュールがありますが、私はターミナルコマンドを実行しています。しかし、コマンドプロンプトで実行されているものです。どうすればubuntuターミナルから実行できるのですか?それは問題の解決に役立ちます。 –

+0

私はあなたがそのスクリプトubuntuではPowerShellと他の多くのC#アセンブリに依存するため – Matt

答えて

0

は、Office 365/AzureのActive Directory内のユーザーのリストを取得するコンソールアプリケーションです:

from azure.graphrbac import GraphRbacManagementClient 
from azure.graphrbac.models import UserCreateParameters, PasswordProfile 
from azure.common.credentials import UserPassCredentials 

# e.g. [email protected] 
admin_user_name = '<admin email account>' 
admin_password = '<admin password>' 
# e.g. yourcompany.onmicrosoft.com 
tenant_id = "<office 365 company url>" 

credentials = UserPassCredentials(
      admin_user_name,  # Your user 
      admin_password,   # Your password 
      resource="https://graph.windows.net" 
    ) 

graphrbac_client = GraphRbacManagementClient(
    credentials, 
    tenant_id 
) 
users = graphrbac_client.users.list(); 
for user in users : 
    print(user) 

このスクリプトAzure ADがサポートするOffice 365アカウント、およびAzure内に手動で作成されたAzure ADインスタンスで動作します。

ありアズールを操作するためのライブラリの混乱配列ですが、私はあなたがここに開始することをお勧め:Azure Active Directory Graph Rbac API

「サーバーのサーバーに」認証に関するご質問について:あなたは(やや安全でない)ユーザー名を使用することができます私のコードは上記の通りです。また、Azure ADで "Application Principal"を作成し、Graph APIへのアクセスを許可することもできますが、私の経験上、これはかなり難しく複雑になります。Pythonライブラリでは、あなたが必要とするAPI呼び出し。

関連する問題