@mrcoldurfuck

Как решить ошибку string indices must be integers?

from yoomoney import Quickpay
quickpay = Quickpay(
            receiver="***",
            quickpay_form="shop",
            targets="Tips",
            paymentType="SB",
            sum='2',
            label='a1b2c3d4e5'
            )

from yoomoney import Client
token = "***"
client = Client(token)
history = client.operation_history(label='a1b2c3d4e5')
print("List of operations:")
print("Next page starts with: ", history.next_record)
for operation in history.operations:
    print()
    print("Operation:", operation.operation_id)
    print("\tStatus     -->", operation.status)
    print("\tDatetime   -->", operation.datetime)
    print("\tTitle      -->", operation.title)
    print("\tPattern id -->", operation.pattern_id)
    print("\tDirection  -->", operation.direction)
    print("\tAmount     -->", operation.amount)
    print("\tLabel      -->", operation.label)
    print("\tType       -->", operation.type)

Все делаю как в гайде, но после того как я несколько раз проверил оплату, стало выдавать эту ошибку
TypeError: string indices must be integers
И главный прикол в том, что ссылается он не на цикл for, а на "history = client.operation_history(label='a1b2c3d4e5')".

P.S. Делаю все по этому гайду https://habr.com/ru/post/558924/.
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Romeo558
Продолжающий программист на python.
Я наверное запоздал, да и проблему ты уже наверное решил, но решил необходимым поделиться своим вариантом решения с другими.
Эта ошибка в данной библиотеке означает то, что токен более не действителен. Я не знаю почему это происходит, но это происходит.
Чтобы точно убедиться что это всё от токена - попробуй запустить вот это:
from yoomoney import Client

token = "*******************************************************************"
client = Client(token)

history = client.account_info()

Должна вывестись ошибка типа:
yoomoney.exceptions.InvalidToken: Token is not valid, or does not have the appropriate rights

И тут уже из ошибки понятно в чём проблема.

Может быть это не единственное решение такой проблемы, но это помогло лично мне.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы