def METHOD_NAME(
    backend, data, api_url, public_key, client_secret, request_type="oauth"
):
    """Calls Odnoklassniki REST API method
    https://apiok.ru/wiki/display/ok/Odnoklassniki+Rest+API"""
    data.update({"application_key": public_key, "format": "JSON"})
    if request_type == "oauth":
        data["sig"] = odnoklassniki_oauth_sig(data, client_secret)
    elif request_type == "iframe_session":
        data["sig"] = odnoklassniki_iframe_sig(data, data["session_secret_key"])
    elif request_type == "iframe_nosession":
        data["sig"] = odnoklassniki_iframe_sig(data, client_secret)
    else:
        msg = "Unknown request type {0}. How should it be signed?"
        raise AuthFailed(backend, msg.format(request_type))
    return backend.get_json(api_url + "fb.do", params=data)