2017-12-28 31 views
0

私はArtik CloudのPython SDKを使用して新しいデバイスを作成していますが、最初はデバイストークンIDを持っていないので、その作成の過程でデバイスのために。Artik Cloud - Python SDK [デバイストークンを作成/更新できません]

としては、私たちは、トークンIDを割り当てるためにupdate_device_token()メソッドを使用することができ、here言及した、しかし、私はいつもこの例外で終わり、これを使用して:

Traceback (most recent call last): 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1997, in __call__ 
    return self.wsgi_app(environ, start_response) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1985, in wsgi_app 
    response = self.handle_exception(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 273, in error_router 
    return original_handler(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 273, in error_router 
    return original_handler(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1540, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/_compat.py", line 32, in reraise 
    raise value.with_traceback(tb) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app 
    response = self.full_dispatch_request() 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 273, in error_router 
    return original_handler(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 273, in error_router 
    return original_handler(e) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/_compat.py", line 32, in reraise 
    raise value.with_traceback(tb) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 480, in wrapper 
    resp = resource(*args, **kwargs) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask/views.py", line 84, in view 
    return self.dispatch_request(*args, **kwargs) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/flask_restful/__init__.py", line 595, in dispatch_request 
    resp = meth(*args, **kwargs) 
    File "/home/theblurfox/PycharmProjects/icast2/app/api/controllers/customers.py", line 148, in put 
    return update_device_token(request.headers, json_data["device_id"]) 
    File "/home/theblurfox/PycharmProjects/icast2/app/api/controllers/artikcloud_methods.py", line 284, in update_device_token 
    api_response = api_instance.update_device_token(device_id) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/apis/devices_api.py", line 802, in update_device_token 
    (data) = self.update_device_token_with_http_info(device_id, **kwargs) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/apis/devices_api.py", line 884, in update_device_token_with_http_info 
    collection_formats=collection_formats) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/api_client.py", line 323, in call_api 
    _return_http_data_only, collection_formats, _preload_content, _request_timeout) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/api_client.py", line 150, in __call_api 
    _request_timeout=_request_timeout) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/api_client.py", line 376, in request 
    body=body) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/rest.py", line 258, in PUT 
    body=body) 
    File "/home/theblurfox/Documents/icast2env/lib/python3.5/site-packages/artikcloud/rest.py", line 180, in request 
    raise ApiException(status=0, reason=msg) 
artikcloud.rest.ApiException: (0) 
Reason: Cannot prepare a request message for provided arguments. 
          Please check that your arguments match declared content type. 

しかし、REST APIを使用してはthis作品を以下の私のアプリでこれを実装するには、urllibやflask.requestなどを使用している新しいメソッドを作成しなければならないでしょう。

私が何か間違っていることや何かをしているのであれば、公式の文書に欠落している可能性があることがまだ分かっている必要があります。

答えて

0

さて、私は自分自身をそれを考え出した、とhere述べたようにそれはバグだった:

私にとってそのは[ 'アプリケーション/ x軸select_header_content_typeとselect_header_content_typeを([「text/plainの」])(交換後に今取り組んでファイル番号devices_api.py> [update_device_token_with_http_info()]> [#HTTPヘッダーContent-Type]の行番号〜864のファイル(www-form-urlencoded)

しかし、このアプローチが安全かどうかはまだ分かりません。

関連する問題