Программно создаваемый пользователь api не сохраняет apikey


Для расширения мне нужно создать пользователя api программно с использованием php. Я использую следующий код:

 $apiKey = '12345678';
 $user = Mage::getModel('api/user');
    $user->setData(array(
    'username' => 'api_consumer',
    'firstname' => 'fist',
    'lastname' => 'last',
    'email' => '[email protected]',
    'new_api_key' => $apiKey,
    'api_key_confirmation' => $apiKey,
    'is_active' => 1,
    'user_roles' => '',
    'assigned_user_role' => '',
    'role_name' => '',
    'roles' => array($role->getId())
    ));
    $user->save()->load($user->getId());

Когда я смотрю в базе данных, поле api_key не заполнено, оно имеет значение "NULL".

Можно ли сохранить ключ api?

Я допустил ошибку в оболочке, приведенный выше код работает, но я изменил

'new_api_key' => $apiKey,

До

'api_key' => $apiKey,
 3
api
Author: Henry, 2013-05-02

1 answers

Я только что протестировал ваш скрипт, и он работает. Ключ сохраняется в базе данных. В любом случае, если это не сработает для вас, попробуйте добавить это в метод setData:

'api_key' => $apiKey,

Вместо

'new_api_key' => $apiKey,
'api_key_confirmation' => $apiKey,
 3
Author: Marius, 2013-05-02 08:22:37