Проблема с API Одноклассники (ok.ru): ok.friends.get(..) ведёт к ошибке—AttributeError: ‘dict’ object has no attribute ‘iteritems’

356 просмотра
0
0 Комментариев

Не получается использовать библиотеку для Python, работающую с API ok.ru
https://github.com/alternativshik/python-odnoklassniki

В мануале на странице git указано:

import odnoklassniki
 
ok = odnoklassniki.Odnoklassniki(client_key, client_secret, access_token)
print ok.group.getInfo('uids'='your_group_id', 'fields'='members_count')

По аналогии выполняю со своими данными, с единственным различием, что т.к. выполняю на 3 версии python, видоизменяю функцию print.
Получаю ошибку:

Traceback (most recent call last):
  File "OK API.py", line 31, in <module>
    x = ok.friends.get(fid='571031948142')
  File "/usr/local/lib/python3.5/dist-packages/odnoklassniki/api.py", line 100, in __call__
    return self._get(self._method, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/odnoklassniki/api.py", line 67, in _get
    status, response = self._request(method, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/odnoklassniki/api.py", line 106, in _request
    for key, value in kwargs.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'


Добавить комментарий

1 Ответы

Python Опубликовано 09.12.2018
0

api написан для python 2. Ошибка возникает потому, что в dict для python 3 нет метода iteritems, вместо него используется метод items.

Чтобы использовать api в python 3 придется его поправить, либо в ручную, либо при помощи утилиты 2to3.

Например вот так:

2to3 -w python-odnoklassniki

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up