跳转到主要内容

Microsoft Graph Beta Python SDK

项目描述

Microsoft Graph Beta SDK for Python

PyPI version Downloads Supported Versions Contributors

通过将Microsoft Graph API集成到您的Python应用程序中,开始使用Microsoft Graph Beta SDK for Python。

注意

  • 此SDK允许您使用Microsoft Graph的最新beta版本构建应用程序。如果您想尝试v1.0 Microsoft Graph API,请使用v1.0 SDK。

1. 安装

pip install msgraph-beta-sdk

注意

  • Python的Microsoft Graph Beta SDK是一个相当大的包。初次安装可能需要几分钟。
  • 如果您在安装软件包时收到由于OSError无法安装软件包的错误,请启用您环境中的长路径。有关详细信息,请参阅在Windows 10版本1607及以后版本中启用长路径

2. 开始使用Microsoft Graph

2.1 注册您的应用程序

通过遵循使用Microsoft Identity平台注册您的应用程序的步骤来注册您的应用程序。

2.3 获取GraphServiceClient对象

您必须获取一个GraphServiceClient对象才能对服务进行请求。

GraphServiceClient类的实例处理构建客户端。要创建此类的新的实例,您需要提供一个Credential实例,它可以验证对Microsoft Graph的请求。

注意:对于身份验证,我们支持来自azure.identitysyncasync凭证类。有关更多信息,请参阅azure identity 文档

# Example using async credentials.
from azure.identity.aio import EnvironmentCredential
from msgraph_beta import GraphServiceClient

scopes = ['User.Read', 'Mail.Read']
credential = EnvironmentCredential()
client = GraphServiceClient(credential, scopes=scopes)

注意:如果您需要配置HTTP代理,请参阅以下文档页面

3. 对服务进行请求

在您获得经过身份验证的GraphServiceClient后,您就可以开始对服务进行调用。对服务的请求看起来像我们的REST API

注意:此SDK默认提供异步API。Async是一种比多线程更高效的并发模型,可以提供显著的性能优势并支持长期网络连接,如WebSockets。我们支持流行的Python异步环境,如asyncioanyiotrio

以下是一个完整的示例,展示如何从Microsoft Graph获取用户。

import asyncio
from azure.identity.aio import ClientSecretCredential
from msgraph_beta import GraphServiceClient

credential = ClientSecretCredential(
    'tenant_id',
    'client_id',
    'client_secret'
)
scopes = ['https://graph.microsoft.com/.default']
client = GraphServiceClient(credential, scopes=scopes)

async def get_user():
    user = await client.users.by_user_id('userPrincipalName').get()
    if user:
      print(user.display_name)
asyncio.run(get_user())

请注意,调用me需要一个已登录的用户,因此需要委托权限。有关更多信息,请参阅身份验证用户

import asyncio
from azure.identity import InteractiveBrowserCredential
from msgraph_beta import GraphServiceClient

credential = InteractiveBrowserCredential()
scopes=['User.Read']
client = GraphServiceClient(credential, scopes=scopes)

async def me():
    me = await client.me.get()
    if me:
        print(me.display_name)
asyncio.run(me())

3.1 错误处理

失败的请求会引发APIError异常。您可以使用try catch语句来处理这些异常。

from kiota_abstractions.api_error import APIError
async def get_user():
    try:
        user = await client.users.by_user_id('userID').get()
        print(user.user_principal_name, user.display_name, user.id)
    except APIError as e:
        print(f'Error: {e.error.message}')
asyncio.run(get_user())

文档和资源

升级

有关重大升级期间引入的重大更改、错误修复和新功能的详细信息,请参阅我们的升级指南

问题

在存储库的问题选项卡中查看或记录问题。

贡献

请仔细阅读我们的贡献指南,以获取有关如何为此存储库做出贡献的建议。

版权和许可

版权(c)微软公司。保留所有权利。在MIT 许可下授权。

本项目已采用微软开源行为准则。有关更多信息,请参阅行为准则FAQ或联系opencode@microsoft.com,如有任何其他问题或评论。

第三方声明

第三方声明

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

msgraph_beta_sdk-1.9.0.tar.gz (10.8 MB 查看哈希值)

上传时间

构建分布

msgraph_beta_sdk-1.9.0-py3-none-any.whl (43.4 MB 查看哈希值)

上传时间 Python 3