Задать вопрос
@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/.
  • Вопрос задан
  • 543 просмотра
Подписаться 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

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

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

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽