【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
函数计算FC,每月15万CU 3个月
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。

问题描述

根据Graph API的实例文档,在单个请求中将多个成员添加入组。 代码执行后,无错误消息,但是,用户也没有添加成功。

在单个请求中向组添加多个成员

文档地址 :https://learn.microsoft.com/zh-cn/graph/api/group-post-members?view=graph-rest-1.0&tabs=python

 

问题解答

在文档中,对比HTTP / C# / JS / Powershell 代码中的additional  data结构,发现一个不同点:

Python代码示例中,把 members@odata.bind 错误的写成了 members@odata_bind

 

当把 “ _ ” 修改为正确的 “ . " 后,添加操作执行成功!

 

(Python) 完成实现代码如下:


from azure.identity import ClientSecretCredential
# from msgraph.generated.models.invitation import Invitation
from kiota_authentication_azure.azure_identity_authentication_provider import AzureIdentityAuthenticationProvider
import asyncio
from msgraph.generated.models.unified_role_assignment import UnifiedRoleAssignment
from msgraph import GraphServiceClient, GraphRequestAdapter
from msgraph.generated.models.group import Group
from msgraph.generated.models.reference_create import ReferenceCreate
from msgraph.generated.models.unified_role_assignment import UnifiedRoleAssignment
# Values from app registration
tenant_id = 'xx-x-x-x-xxxx'
client_id = 'xx-x-x-x-xxxx'
client_secret = '***'
# azure.identity.aio
credential = ClientSecretCredential(
    tenant_id=tenant_id,
    client_id=client_id,
    client_secret=client_secret)
scopes = ['https://microsoftgraph.chinacloudapi.cn/.default']
graph_client = GraphServiceClient(credential, scopes)  # type: ignore
auth_provider = AzureIdentityAuthenticationProvider(credential, scopes=scopes)
request_adapter = GraphRequestAdapter(auth_provider)
request_adapter.base_url = https://microsoftgraph.chinacloudapi.cn/v1.0/
graph_client = GraphServiceClient(request_adapter=request_adapter)
async def add_user_to_group():
    request_body = Group(
        additional_data={
            "members@odata.bind": [
                https://microsoftgraph.chinacloudapi.cn/v1.0/directoryObjects/{id},
                https://microsoftgraph.chinacloudapi.cn/v1.0/directoryObjects/{id},
            ],
        }
    )
    result = await graph_client.groups.by_group_id('xx-x-x-x-xxxx').patch(request_body)
    if result:
        print(result)
asyncio.run(add_user_to_group())

 

 

参考资料

在单个请求中向组添加多个成员:https://learn.microsoft.com/zh-cn/graph/api/group-post-members?view=graph-rest-1.0&tabs=python

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
1天前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
46 33
|
22天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
62 8
|
19天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
67 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
7天前
|
JSON 安全 API
淘宝商品详情API接口(item get pro接口概述)
淘宝商品详情API接口旨在帮助开发者获取淘宝商品的详细信息,包括商品标题、描述、价格、库存、销量、评价等。这些信息对于电商企业而言具有极高的价值,可用于商品信息展示、市场分析、价格比较等多种应用场景。
|
15天前
|
前端开发 API 数据库
Next 编写接口api
Next 编写接口api
|
21天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
20天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
20天前
|
搜索推荐 数据挖掘 API
淘宝天猫商品评论数据接口丨淘宝 API 实时接口指南
淘宝天猫商品评论数据接口(Taobao.item_review)提供全面的评论信息,包括文字、图片、视频评论、评分、追评等,支持实时更新和高效筛选。用户可基于此接口进行数据分析,支持情感分析、用户画像构建等,同时确保数据使用的合规性和安全性。使用步骤包括注册开发者账号、创建应用获取 API 密钥、发送 API 请求并解析返回数据。适用于电商商家、市场分析人员和消费者。
|
30天前
|
JSON API 开发工具
淘宝实时 API 接口丨淘宝商品详情接口(Taobao.item_get)
淘宝商品详情接口(Taobao.item_get)允许开发者获取商品的详细信息,包括基本信息、描述、卖家资料、图片、属性及销售情况等。开发者需注册账号、创建应用并获取API密钥,通过构建请求获取JSON格式数据,注意遵守平台规则,合理使用接口,确保数据准确性和时效性。
|
1月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
172 5