2015-06-09 37 views
0

我正在嘗試用python sdk創建一個用戶。當我運行我的腳本,我得到以下錯誤:Okta api python sdk投擲json錯誤

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="[email protected]", 
      email="[email protected]", 
      firstName="user", 
      lastName="tester") 

    usersClient.create_user(user, activate=False) 

    #usersClient.activate_user(user) 

main() 
+0

你將包括JSON身體所以很明顯的問題是線53和88是什麼?這可能有助於調試問題。 –

+0

如何從sdk中的通話中拉出json主體? –

回答

0

它看起來像你想使用namedtuple,這是序列化到一個json列表,而不是一個對象。

嘗試使用用戶模式是這樣的:

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="[email protected]", 
      email="[email protected]", 
      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

+0

謝謝!看起來文檔中缺少一點。我現在在做生意。我還假設有一種方法可以將新用戶添加到使用sdk的組中? –