Работа с методами ВКонтакте API на стороне клиента и сервера

Готовые уроки IFrame + ВКонтакте API

Работа с методами ВКонтакте API на стороне клиента и сервера

Сообщение Александр » 08 июл 2012, 13:30

Работа с методами ВКонтакте API на стороне клиента и сервера

Часто начинающие пытаются использовать все методы ВКонтакте API с сервера (PHP).
В этой статье я опишу почему при создании Flash/IFrame-приложений не все методы можно вызывать с сервера и как определить можно ли вызвать конкретный метод API с сервера.

Изображение

Существует 2 способа взаимодействия с ВКонтакте API:
1. На стороне клиента (JavaScript)
2. На стороне сервера (PHP и др. серверные языки)

Некоторые методы можно вызывать только на стороне клиента, а некоторые только на стороне сервера. Большинство методов ВКонтакте API можно использовать только на стороне клиента.


Почему не все методы можно вызвать на стороне клиента
Со стороны клиента нельзя вызывать secure.* методы. Эти методы нужно вызывать только с сервера, потому что вызывать их со стороны клиента не безопасно. Злоумышленник сможет получить доступ к балансу приложения, возможность отправлять уведомление пользователям и другие секретные данные.


Почему не все методы можно вызвать с сервера
При авторизации пользователя ВКонтакте, в браузере пользователя храниться информация, по которой сайт ВКонтакте идентифицирует пользователя.
Сервер (хостинг) - это не компьютер пользователя. Это отдельный компьютер. На нем не хранится информация пользователя. Вызывая методы API с сервера, сайт ВКонтакте не может идентифицировать пользователя.
Если метод работает с какими-то данными конкретного пользователя, то API должно знать с данными какого пользователя нужно работать. Если в методе есть параметр для передачи ID пользователя, то можно попробовать вызвать метод с сервера.

Доступен ли метод с сервера можно узнать, прочитав документацию или попробовав его вызвать. Но если в документации не описана возможность вызывать метод с серверной стороны, то со временем он может перестать работать с сервера.
Если при вызове метода с сервера вы получаете ответ:

то метод не работает с сервера.

Пример вызова метода с сервера можно посмотреть в уроке Вызов серверных методов (APIServerPHPClass).


Методы, вызываемые со стороны клиента

Все методы ВКонтакте API, кроме secure.* методов


Методы, вызываемые с серверной стороны

Официально (описано в документации):
secure.*
friends.get

Неофициально:
isAppUser
users.get
getUserSettings
likes.getList
groups.getById
groups.isMember
photos.getAlbums
photos.get
wall.get
wall.getById
newsfeed.search
storage.get
storage.set
getServerTime
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Вернуться в Уроки IFrame ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron