0

我正在尝试使用 python sdk 创建一个用户。当我运行我的脚本时,我收到以下错误:

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/sitepackages/oktasdk-python/okta/framework/ApiClient.py", line 53, in post
if self.__check_response(resp, attempts):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/sitepackages/oktasdk-python/okta/framework/ApiClient.py", line 88, in  __check_response
raise OktaError(json.loads(resp.text))
okta.framework.OktaError.OktaError: The request body was not well-formed:  Could not read JSON

这是我的代码片段:

from okta.UsersClient import UsersClient
from collections import namedtuple

def main():

    create_okta_user()


def create_okta_user():

    usersClient = UsersClient("https://example.okta.com", "0d0d0dexamplekey")
    User = namedtuple("User", ["login", "email", "firstName", "lastName"], verbose=False, rename=False)
    user = User(login="test@example.com",
            email="test@example.com",
            firstName="user",
            lastName="tester")

    usersClient.create_user(user, activate=False)

    #usersClient.activate_user(user)

main()
4

1 回答 1

0

看起来您正在尝试使用命名元组,它被序列化为 json 列表,而不是对象。

尝试像这样使用 User 模型:

from okta import UsersClient
from okta.models.user import User


def main():
    create_okta_user()

def create_okta_user():

    usersClient = UsersClient("https://example.okta.com", "0d0d0dexamplekey")

    user = User(login="test@example.com",
            email="test@example.com",
            firstName="user",
            lastName="tester")

    user = usersClient.create_user(user, activate=False)
    #usersClient.activate_user(user)

main()

http://developer.okta.com/docs/sdk/core/python_api_sdk/quickstart.html#create-a-user

于 2015-06-10T20:45:29.317 回答