Closed zig323 closed 2 years ago
Судя по сигнатуре метода
def get_portfolio(self, *, account_id: str = "") -> PortfolioResponse:
Вызов необходимо осуществлять явно указывая название аргумента
client.operations.get_portfolio(account_id=account_id)
@daxartio, подскажи для чего нам нужна такая логика с астериск операторами?
Да, указав напрямую account_id=account_id сработало. Благодарю за оперативный ответ! Подскажите, а где вы взяли сигнатуру метода, где можно это найти?
Сигнатуру метода можно посмотреть в исходном коде библиотеки
https://github.com/Tinkoff/invest-python/blob/main/tinkoff/invest/services.py
Строка 857
Что случилось?
Добрый день!
Подскажите пожалуйста почему не работает метод "get_portfolio" сервиса "operation"? Я передаю в метод один аргумент "account_id". А ошибка говорит, что было передано 2 позиционных аргумента. Если в метод вообще ничего не передать, то будет ошибка, требующая обязательного аргумента "account_id". Отмечу, что аналогичный пример с "get_accounts" работает как должен. То есть проблема именно в методе и его использовании.
Воспроизведение
`import os from dotenv import load_dotenv import tinkoff.invest as ti
load_dotenv()
token = os.getenv('token') account_id = os.getenv('BROKER_ID') client = ti.Client(token)
with ti.Client(token) as client: print(client.operations.get_portfolio(account_id))`
Tinkoff Invest Version
0.2.0-beta27
Python Version
3.8
OS
Windows
Логи
No response