Задать вопрос

Не работает модуль python-instagram, что не так?

Установил библиотеку python-instagram, зарегистрировал приложение. Получил access_token. При запуске любых примеров выпадают ошибки(см изображение). В чём проблема?0c7b926ef3b44c4489a8389d0ac0bf63.png

PS. Делал по инструкции с этого сайта

PPS.
/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 /Users/victor/PycharmProjects/Instagram/main.py
Traceback (most recent call last):
  File "/Users/victor/PycharmProjects/Instagram/main.py", line 10, in <module>
    media_ids,next = api.tag_recent_media(tag_name='instadogs', count=80)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/bind.py", line 196, in _call
    return method.execute()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/bind.py", line 182, in execute
    include_secret=self.include_secret)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/oauth2.py", line 224, in prepare_request
    url = self._full_url_with_params(path, params, include_secret)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/oauth2.py", line 148, in _full_url_with_params
    self._full_query_with_params(params) +
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/oauth2.py", line 144, in _full_url
    self._signed_request(path, {}, include_signed_request, include_secret))
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/oauth2.py", line 172, in _signed_request
    return "&sig=%s" % self._generate_sig(path, params, self.api.client_secret)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/instagram/oauth2.py", line 127, in _generate_sig
    return  hmac.new(secret, sig, sha256).hexdigest()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/hmac.py", line 144, in new
    return HMAC(key, msg, digestmod)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/hmac.py", line 42, in __init__
    raise TypeError("key: expected bytes or bytearray, but got %r" % type(key).__name__)
TypeError: key: expected bytes or bytearray, but got 'str'
  • Вопрос задан
  • 2645 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@AviPaperno Автор вопроса
Решение найдено здесь. Необходимо в файле hmac.py заменить строчку return HMAC(key, msg, digestmod)
на
return HMAC(key.encode(), msg.encode(), digestmod)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
Делай по инструкции https://github.com/Instagram/python-instagram

-
https://github.com/Instagram/python-instagram/issu...

+
https://github.com/mitsuhiko/itsdangerous/issues/41

Стоит разве что попробовать перейти временно на 2
Если не поможет, то клонировать репу и пофиксить баг
https://github.com/Instagram/python-instagram/blob...
Ответ написан
@Alexashenka
Дел в том, что инстапи почему-то доступно только для версии 2.n(у меня только в IDLE стандартной заработало).

А чего за файл такой hmac.py ?
Ответ написан
Комментировать
Rinz
@Rinz
Программист на С++,PHP,C#,Java,Lisp,Smaltak,Python
Ну там явно написано что он ожидал от тебя байты и пришло к нему строка.
Попробуйте передать
media_ids,next = api.tag_recent_media(tag_name=b"Тралалала", count=80)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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