Задать вопрос
@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/.
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 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

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

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

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

Похожие вопросы