1. Mikhail Korobov
  2. vkontakte
  3. Issues
Issue #10 new

ошибка при "print vk.getServerTime()"

alxpy
created an issue

Помогите, пожалуйста, новичку! Пишу:

import vkontakte
vk = vkontakte.API('my_api_id', 'my_api_secret')
print vk.getServerTime()

my_api_id и my_api_secret, разумеется подставил свои. PyCharm выдает ошибку:

C:\Python27\python.exe C:/Users/Саша/Desktop/vk.py Traceback (most recent call last): File "C:/Users/User/Desktop/vk.py", line 3, in <module> print vk.getServerTime() File "C:\Python27\lib\site-packages\vkontakte\api.py", line 116, in call return self._get(self.method_prefix + method, params) File "C:\Python27\lib\site-packages\vkontakte\api.py", line 95, in _get data = json.loads(response, strict=False) File "C:\Python27\lib\json__init__.py", line 351, in loads return cls(encoding=encoding, kw).decode(s) File "C:\Python27\lib\json\decoder.py", line 368, in decode raise ValueError(errmsg("Extra data", s, end, len(s))) ValueError: Extra data: line 1 column 413 - line 1 column 848 (char 412 - 847)

Process finished with exit code 1

Я вижу где ошибки, но не понимаю почему они имеют место быть. Помогите, пожалуйста, запустить этот простой код! Заранее благодарен!

Comments (8)

  1. Mikhail Korobov repo owner

    Привет! Там способ авторизации vk-приложений изменился, нужно теперь OAuth использовать, и версию vkontakte из репозитория (никак руки не дойдут релиз сделать)

  2. alxpy reporter

    Поясните мне еще, пожалуйста: 1. vkontakte 1.3.2 уже умеет с OAuth работать? 2. Если да, помогите, пожалуйста, авторизироваться! API я видел, просто я начинающий и еще не знаю как создать окно браузера и открыть в нём диалог авторизации. Вы сильно мне поможете этими пару строчками кода! 3. Если 1.3.2 еще не работате: все таки в ближайшее время будите делать релиз? Уж очень хочется использовать Ваш API wrapper!

    Спасибо за уделенное время!

  3. Mikhail Korobov repo owner

    Да, 1.3.2 умеет OAuth.

    Там, боюсь, парой строк кода не обойтись: нужно на самом деле как-то показать пользователю веб-страницу. Если для своих нужд, то, видимо, самому туда зайти как-то; если веб-приложение, то перекинуть туда пользователя; если десктоп-приложение на PyQT - то, видимо, какой-нибудь QWebView использовать. Больше информации - в оф. доках вконтакте смотреть. Я достаточно давно с этим дело имел, так что лучше официальные доки глянуть.

  4. alxpy reporter

    Для своих нужд просто перешел по ссылке https://oauth.vk.com/authorizeclient_id=APP_ID&; scope=SETTINGS&redirect_uri=REDIRECT_URI&display=DISPLAY&response_type=token и скопировал из адресной строки токен. Сработало. А дальше буду разбираться. Спасибо Вам!

  5. Mikhail Korobov repo owner

    Было бы хорошо это в README добавить, что, мол, для начала можно вот так этот токен получить, а дальше - в оф. доках уже смотрите. Там сейчас примеры все еще со старым способом авторизации. Я по большей части из-за этого релиз не сделал - примеры не совсем правильные в документации, а правильные написать время найти не могу. Если сделаете пулл-реквест - буду благодарен :)

  6. Dmitry Sandalov

    Костыльчик

     # pip install pyvkoauth
     # pip install hg+https://bitbucket.org/kmike/vkontakte
    
     from pyvkoauth import auth
     import vkontakte
    
     user_email = 'vkontakte@email.org'
     user_password = 'vkontaktepassword'
     client_id = 12345  # app id
     scope = 49151
    
     response = auth(user_email, user_password, client_id, scope)
     access_token = response['access_token']
    
     vk = vkontakte.API(token=access_token)
     print vk.getServerTime()
    
  7. Log in to comment