我正在编写一个python脚本来使用python客户端库forazuredevops restapi在azuredevops中创建用户。在
我正在使用MemberTitlementManagementClient的add_user_entitlement()功能。在
链接到该客户端的代码:
相应的REST API文档:
我写了代码:
from azure.devops.connection import Connection
from azure.devops.v5_0.member_entitlement_management.models import *
import pprint
personal_access_token = <my token>
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)
member_ent_mngmnt_client = connection.clients_v5_0.get_member_entitlement_management_client()
# List member entitlements
resp = member_ent_mngmnt_client.get_user_entitlements()
print(resp)
# ------ Add user entitlement -----------------
access_level = AccessLevel("express", None, None, None, None, None, None)
print(access_level)
graph_user = GraphUser(None, None, None, None, None, None, None, "user", None, None, "anaya.john@dynactionize.onmicrosoft.com", None, None, None)
print(graph_user)
user_entitlement = UserEntitlement(None, None, None, None, None, None, graph_user)
print(user_entitlement)
# This is to check what is sent as the request body of REST API POST request
content = member_ent_mngmnt_client._serialize.body(user_entitlement, 'UserEntitlement')
print("\n Content : \n")
print(content)
# Add user entitlement
resp = member_ent_mngmnt_client.add_user_entitlement(user_entitlement)
print("\n Result: \n")
print(resp)
但我得到的输出有一个错误msrest.exceptions.DeserializationError::
^{pr2}$有人能帮我解决这个错误吗?在
反序列化错误表示python无法反序列化对
UserEntitlementsPostResponse
类型的对象的响应。当响应不是预期的响应时,就会发生这种情况。在我编辑了python客户机的
MemberEntitlementManagementClient
类的add_user_entitlement()
函数,方法是添加一行打印POST请求的响应。得到的答复是:显然,这不是预期的结果。并且不能将其转换为
UserEntitlementsPostResponse
类型的对象。因此,出现了错误。在如错误所示,在将用户(运行脚本的人)添加到我们azuredevops组织中的“项目集合管理员”组后,脚本正常工作。在
此步骤非常重要,因为microsoft针对azure devops REST API的文档(https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/add-organization-users?view=azure-devops#prerequisites)指出:
相关问题 更多 >
编程相关推荐