An open API service indexing awesome lists of open source software.

https://github.com/marselester/pyodnoklassniki

Odnoklassniki REST API wrapper.
https://github.com/marselester/pyodnoklassniki

Last synced: about 1 month ago
JSON representation

Odnoklassniki REST API wrapper.

Awesome Lists containing this project

README

        

=================================================
PyOdnoklassniki is Odnoklassniki REST API wrapper
=================================================

.. image:: https://travis-ci.org/marselester/pyodnoklassniki.png
:target: https://travis-ci.org/marselester/pyodnoklassniki

This library consists of an API interface for `Odnoklassniki`_ and
Django middleware which helps to configure it.

Usage example:

.. code-block:: python

import pyodnoklassniki

pyodnoklassniki.app_pub_key = 'CBAJ...BABA'
pyodnoklassniki.app_secret_key = '123...XYZ'

ok_api = pyodnoklassniki.OdnoklassnikiAPI(
access_token='kjdhfldjfhgldsjhfglkdjfg9ds8fg0sdf8gsd8fg')

try:
print ok_api.users.getCurrentUser()
except pyodnoklassniki.OdnoklassnikiError as exc:
print exc

You might find that configuring library with Django Middleware is more
convenient.

.. code-block:: python

MIDDLEWARE_CLASSES = (
# ...
'pyodnoklassniki.contrib.django.middleware.PyOdnoklassnikiMiddleware',
# ...
)

PYODNOKLASSNIKI = {
'app_pub_key': 'CBAJ...BABA',
'app_secret_key': '123...XYZ',
}

Use dotted notation to invoke API method. Query parameters are passed as
keyword arguments. Odnoklassniki error codes are grouped by meaning in
``exceptions.py``, but ``OdnoklassnikiError`` might be enough.
See full list of API methods and error codes at `Odnoklassniki API documentation`_.

.. code-block:: python

try:
response = ok_api.group.getUserGroupsV2()
except pyodnoklassniki.OdnoklassnikiError as exc:
print exc
else:
for group in response['groups']:
print ok_api.group.getInfo(uids=group['groupId'],
fields='name, description')

You can process particular error code such as ``PARAM_SESSION_EXPIRED`` as well.

.. code-block:: python

from pyodnoklassniki import errors

try:
response = ok_api.users.getCurrentUser()
except pyodnoklassniki.AuthError as exc:
if exc.code == errors.PARAM_SESSION_EXPIRED:
# Renew session...
pass

.. _Odnoklassniki: http://odnoklassniki.ru
.. _Odnoklassniki API documentation: http://apiok.ru/wiki/display/ok/Odnoklassniki+REST+API+ru