Токен к api
Как получит токен для API zenmoney? В каком парметре его передавать или в каком заголовке? Приведите минимальный пример запроса на транзакции.
Всем привет.
Пишу консольное приложение, хочу получать данные из дзенмани.
Зарегистрировал приложение с помощью скрипта, получил следующие данные
Смутило, что в вики и примере на php используется url
https://api.zenmoney.ru/oauth2/authorize/
А в полученных при регистрации адресах его нет
Попробовал повторить пример:
1. Делаем запрос
GET https://api.zenmoney.ru/oauth2/authorize/?response_type=code&client_id=g2d02e658ac0fe2e9a&redirect_uri=http%3A%2F%2Flocalhost%2Foaut
в ответ получаем html формы
2. Хотим получить code из заголовка Location. Делаем
POST https://api.zenmoney.ru/oauth2/authorize/ username=123&password=123&auth_type_password=Sign I
В ответ получаем 400 error: invalid request
Имя пользователя и пароль верные - проверил в браузере.
Что я делаю не так ?
Всем привет.
Пишу консольное приложение, хочу получать данные из дзенмани.
Зарегистрировал приложение с помощью скрипта, получил следующие данные
Смутило, что в вики и примере на php используется url
https://api.zenmoney.ru/oauth2/authorize/
А в полученных при регистрации адресах его нет
Попробовал повторить пример:
1. Делаем запрос
GET https://api.zenmoney.ru/oauth2/authorize/?response_type=code&client_id=g2d02e658ac0fe2e9a&redirect_uri=http%3A%2F%2Flocalhost%2Foaut
в ответ получаем html формы
2. Хотим получить code из заголовка Location. Делаем
POST https://api.zenmoney.ru/oauth2/authorize/ username=123&password=123&auth_type_password=Sign I
В ответ получаем 400 error: invalid request
Имя пользователя и пароль верные - проверил в браузере.
Что я делаю не так ?
Получаем HTML формы + куки
Куки прокидываем в POST
кажется так)
Всем привет, при запросе токена получаю ошибку:
{
"error": "invalid_grant"
}
Думал, что oauth криво работает при входе через google oauth. Установил логин и пароль — результат тот же. grant_type ест, ественно, взят из документации. Вот пример запроса:
curl -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=authorization_code&client_id=123&client_secret=123&code=444&redirect_uri=http%3A%2F%2Fexample.com%2Fcb%2F123' \ https://api.zenmoney.ru/oauth2/token -i
Никто не сталкивался с такими проблемами? Не могу понять что я упустил
Всем привет, при запросе токена получаю ошибку:
{
"error": "invalid_grant"
}
Думал, что oauth криво работает при входе через google oauth. Установил логин и пароль — результат тот же. grant_type ест, ественно, взят из документации. Вот пример запроса:
curl -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=authorization_code&client_id=123&client_secret=123&code=444&redirect_uri=http%3A%2F%2Fexample.com%2Fcb%2F123' \ https://api.zenmoney.ru/oauth2/token -i
Никто не сталкивался с такими проблемами? Не могу понять что я упустил
На GitHub много рабочих примеров: https://github.com/search?q=zenmoney
В частности, рекомендуем заглянуть сюда: https://github.com/Ryadnov/zenmoney-php-api-library
На GitHub много рабочих примеров: https://github.com/search?q=zenmoney
В частности, рекомендуем заглянуть сюда: https://github.com/Ryadnov/zenmoney-php-api-library
Да, я читал комменты из этой темы и сверялся с кодом из репы Ryadnov. Именно из-за нее я решил установить пароль на свой акк.
Ради эксперимента спулил zenmoney-php-api-library и авторизироваться через нее. Все получилось!
После этого эксперимента мне удалось установить причину по которой не получалось добыть токен через curl. Как оказалось, ошибка invalid_grant не означает, что что-то не так с grant_type. Эта ошибка была из-за того, что запрос кода авторизации (/oauth/authorize) и запрос токена (/oauth/authorize) содержали разные значения в параметрах redirect_uri, которые я для теста в обоих случаях писал какие-попало :facepalm:
В общем, спасибо за то, что настояли на том, что примеры и вправду рабочие, а я постараюсь в следующий раз относиться серьезнее к редирект урлам при oauth :D
Да, я читал комменты из этой темы и сверялся с кодом из репы Ryadnov. Именно из-за нее я решил установить пароль на свой акк.
Ради эксперимента спулил zenmoney-php-api-library и авторизироваться через нее. Все получилось!
После этого эксперимента мне удалось установить причину по которой не получалось добыть токен через curl. Как оказалось, ошибка invalid_grant не означает, что что-то не так с grant_type. Эта ошибка была из-за того, что запрос кода авторизации (/oauth/authorize) и запрос токена (/oauth/authorize) содержали разные значения в параметрах redirect_uri, которые я для теста в обоих случаях писал какие-попало :facepalm:
В общем, спасибо за то, что настояли на том, что примеры и вправду рабочие, а я постараюсь в следующий раз относиться серьезнее к редирект урлам при oauth :D
А с google sheets не пробовали связывать?
Всем привет!
Использую метод
POST https://api.zenmoney.ru/v8/diff/
Пытаюсь добавить транзакцию
Получаю ошибку
"error": {
"code": "validationError",
"message": "No time of the last synchronization (lastServerTimestamp) (truncated...)
в serverTimestamp устанавливается значение 0
в currentClientTimestamp устанавливается текущее время
Как быть? Спасибо за ответ.
Всем привет!
Использую метод
POST https://api.zenmoney.ru/v8/diff/
Пытаюсь добавить транзакцию
Получаю ошибку
"error": {
"code": "validationError",
"message": "No time of the last synchronization (lastServerTimestamp) (truncated...)
в serverTimestamp устанавливается значение 0
в currentClientTimestamp устанавливается текущее время
Как быть? Спасибо за ответ.
Возможно, вы не прошли авторизацию?
Возможно, вы не прошли авторизацию?
Возможно стоит в таком случае сделать нормальный ответ? )))
Для начала нужно зарегистрировать клиентское приложение. Тут, по нажатию на "скриптом"
http://developers.zenmoney.ru/index.html
После этого используем полученные consumer_key, consumer_secret и введенный OAuth callback point url в качестве client_id, client_secret и redirect_uri протокола OAuth 2.0. Дальнейшее взаимодействие и доступные методы API описаны тут:
https://github.com/zenmoney/ZenPlugins/wiki/ZenMoney-API