1

Nimbus api ошибки в запросе curl

(24/01/2022 10:55:10 отредактировано amigo_pro)

Тема: Nimbus api ошибки в запросе curl

Здравствуйте, начал разбираться с виалон nimbus api.
при попытке вылонить запрос из документации по получению id дeпо получаю следующую ошибку
{
  "error": 4,
  "details": "Invalid input. Authorization header must contain two part Token <...> or SSID <...>",
  "traceback": [
    "Traceback (most recent call last):\n",
    "  File \"/home/wdc/services/nimbus1/.env/lib/python3.7/site-packages/tornado/web.py\", line 1683, in _execute\n    result = await result\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/api/depot/__init__.py\", line 44, in prepare\n    await super().prepare()\n",
    "  File \"/home/wdc/services/nimbus1/core/handlers/mixins.py\", line 68, in prepare\n    await super(ServiceMixin, self).prepare()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/api/base.py\", line 45, in prepare\n    await super().prepare()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/mixins.py\", line 332, in prepare\n    await super(LoginRequiredMixin, self).prepare()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 107, in prepare\n    self.current_user = await self.get_current_user()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 79, in get_current_user\n    auth_type, key = self.get_session_key()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 74, in get_session_key\n    auth_header_value = self._extract_auth_type_and_key()\n",
    "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 52, in _extract_auth_type_and_key\n    'Authorization header must contain two part Token <...> or SSID <...>')\n",
    "core.utils.wialon.WialonException: ErrorCode.INVALID_INPUT\n"
  ]
}
строка запроса:
curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: **************************"

с командной строки тоже самое.
токен со всем правами. что я делаю не так? не работает из документации.

2

Nimbus api ошибки в запросе curl

(24/01/2022 11:02:15 отредактировано amigo_pro)

Re: Nimbus api ошибки в запросе curl

пробовал так
curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: Token: **************************"
и так
curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: Token **************************"
получаю:
{
    "error":1,
    "details":"Invalid session.",
    "traceback":[
        "Traceback (most recent call last):\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 86, in get_current_user\n    authenticator = AuthenticatorFabric(container).build(self.provider, auth_type)\n",
        "  File \"/home/wdc/services/nimbus1/web/auth.py\", line 144, in build\n    return self.__impls__[auth_type].build(provider, self._repositories)\n",
        "KeyError: 'Token:'\n",
        "\nDuring handling of the above exception, another exception occurred:\n\n",
        "Traceback (most recent call last):\n",
        "  File \"/home/wdc/services/nimbus1/.env/lib/python3.7/site-packages/tornado/web.py\", line 1683, in _execute\n    result = await result\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/api/depot/__init__.py\", line 44, in prepare\n    await super().prepare()\n",
        "  File \"/home/wdc/services/nimbus1/core/handlers/mixins.py\", line 68, in prepare\n    await super(ServiceMixin, self).prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/api/base.py\", line 45, in prepare\n    await super().prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/mixins.py\", line 332, in prepare\n    await super(LoginRequiredMixin, self).prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 107, in prepare\n    self.current_user = await self.get_current_user()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 88, in get_current_user\n    raise InvalidSession()\n",
        "core.exceptions.InvalidSession: HTTP 200: OK\n"
    ]
}

3

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

"details": "Invalid input. Authorization header must contain two part Token <...> or SSID <...>",

В Authorization header нужно передавать не только токен, но и слово Token. Примерно так

curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: Token **************************"
4

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

shmi пишет:
"details": "Invalid input. Authorization header must contain two part Token <...> or SSID <...>",

В Authorization header нужно передавать не только токен, но и слово Token. Примерно так

curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: Token **************************"

пробовал, не помогло. сообщением выше написал, не успели прочитать видимо

5

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

shmi пишет:
"details": "Invalid input. Authorization header must contain two part Token <...> or SSID <...>",

В Authorization header нужно передавать не только токен, но и слово Token. Примерно так

curl -X GET "https://nimbus.wialon.com/api/depots" -H  "accept: application/json" -H  "Authorization: Token **************************"

вот что получаю:
{
    "error":1,
    "details":"Invalid session.",
    "traceback":[
        "Traceback (most recent call last):\n",
        "  File \"/home/wdc/services/nimbus1/.env/lib/python3.7/site-packages/tornado/web.py\", line 1683, in _execute\n    result = await result\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/api/depot/__init__.py\", line 44, in prepare\n    await super().prepare()\n",
        "  File \"/home/wdc/services/nimbus1/core/handlers/mixins.py\", line 68, in prepare\n    await super(ServiceMixin, self).prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/api/base.py\", line 45, in prepare\n    await super().prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/mixins.py\", line 332, in prepare\n    await super(LoginRequiredMixin, self).prepare()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 107, in prepare\n    self.current_user = await self.get_current_user()\n",
        "  File \"/home/wdc/services/nimbus1/web/handlers/base.py\", line 90, in get_current_user\n    session = await authenticator.auth(key, origin=self.real_user_ip)\n",
        "  File \"/home/wdc/services/nimbus1/web/auth.py\", line 63, in auth\n    raise InvalidApiKeyException()\n",
        "core.exceptions.InvalidApiKeyException\n"
    ]
}

6

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

"details":"Invalid session.",

Неверный токен. Тут вопрос, что именно вы туда передаёте. Проверьте, пожалуйста, что действуете в соответствии с документацией https://help.wialon.com/help/nimbus/ru/ … api-tokens

7

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

shmi пишет:

"details":"Invalid session.",

Неверный токен. Тут вопрос, что именно вы туда передаёте. Проверьте, пожалуйста, что действуете в соответствии с документацией https://help.wialon.com/help/nimbus/ru/ … api-tokens

если исполнять запрос из документации он автоматически подставляет код токена в запрос. перед этим авторизвываюсь кликая по замку и вставляю токен скопированный из Nimbus.

8

Nimbus api ошибки в запросе curl

Re: Nimbus api ошибки в запросе curl

разобрался, url то надо было свеого сервера подставлять)