#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 }}
и, конечно, вы должны определить элементы, в которых вы получили ошибку в соответствующем файле контроллера.