Не удается получить токен из Opencart API

#angular #http #post #token #opencart

#angular #http #Публикация #токен #opencart

Вопрос:

Я работаю над своим приложением angular и по какой-то причине хочу использовать opencart REST API. Как говорится в документах, сначала я должен получить токен из API. Вот код из документов:

 import requests

s = requests.Session()

username = 'Default'
key='L3MYyzlYMRL8gBcpCm6CdrVarFUXtPORZkJKP7vgaY8M8EIZWOr3EJxq'
# Actually, key is 256 character-long

s.post(
    'http://myopencart.example.com/index.php?route=api/login',
    data={'username':username, 'key':key}
).text
  

Вот мой код приложения angular:

 getToken() {
    return this.http.post(
      this.config.getUrl()   '/login',
      {
        username: this.config.getUserName(),
        key: this.config.getKey()
      },
      {
        responseType: 'text'
      }
    );
  }
  

По какой-то причине я получил это сообщение об ошибке:

 <b>Notice</b>: Undefined index: api_token in <b>/var/www/html/opencart/catalog/controller/startup/startup.php</b> on line <b>45</b><b>Notice</b>: Undefined index: username in <b>/var/www/html/opencart/catalog/controller/api/login.php</b> on line <b>11</b><b>Notice</b>: Undefined index: key in <b>/var/www/html/opencart/catalog/controller/api/login.php</b> on line <b>11</b>[]
  

Что я делаю не так?

Комментарии:

1. Если вы работаете с OC3, токен, который вы можете получить в файле контроллера, выглядит следующим образом: $data['user_token'] = $this->session->data['user_token']; после вы можете вызвать его в соответствующем TWIG: {{ user_token }}

2. @K.B. Да, я работаю с OC3. Мне нужно заставить запрос API работать, а не только получать токен. Может быть, что-то не так с http-запросом?

3. Если его запрос на стороне администратора, ваш URL-адрес должен быть: http://myopencart.example.com/index.php?route=api/loginamp;user_token={{ user_token }} и, конечно, вы должны определить элементы, в которых вы получили ошибку в соответствующем файле контроллера.