Страница 1 из 1

API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 11 мар 2011, 16:34
LonelyANDRoid
Приветствую, товарищи

Я только начал заниматься Flash-программированием, поэтому заранее прощу прощения за глупые или некорректные вопросы.

Задача
Написать что-то вроде собственного API для API соц. сетей (на данный момент это ВКонтакте, Одноклассники и Facebook). То есть само приложение не должно знать, в какой соц.сети оно запущено. Оно будет обращаться не к API конкретной сети, а к моему API, которое будет распознавать запрос, модифицировать и перенаправлять его в зависимости от текущей соц.сети. Также и обратно.

Вопрос
При проектировании решения данной задачи я сразу же уперся в стену: как же именно распознать конкретную соц.сеть? Хотелось бы узнать, что думают на этот счет более опытные коллеги.

Заранее благодарен за любую помощь =)

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 11 мар 2011, 16:52
bodnar
хмм, переменная окружения HTTP_REFERER не?

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 11 мар 2011, 18:57
LonelyANDRoid
2 bodnar,
К сожалению, web-программировании я также пока несилен. Подскажите, пожалуйста, как это сделать или где можно об этом почитать?

2 all,
Есть еще идеи?

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 11 мар 2011, 21:29
Александр
LonelyANDRoid
Приведи пример работы на каком-нибудь методе (словами).
Если возвращать ответ приложению будет твой сервер, то запросы надо будет слать с него. С сервера можно вызвать не все api методы социальных сетей.

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 12 мар 2011, 12:29
LonelyANDRoid
Александр,
К примеру, приглашение друзей.
Мое приложение:
1. вызывает функцию моего API, пусть будет myAPI.inviteFriends(userID:String);
2. затем myAPI, в соответствии с текущей сетью (пусть это будет ВКонтакте), (возможно) выполняет некоторые необходимые манипуляции;
3. вызывает функцию wrapper.external.showInviteBox().
Как-то так, наверное.

bodnar & everybody,
я всё еще не разобрался, как использовать HTTP_REFERER - не знаю как вообще выполнять HTTP запросы. При этом смущает то, что не все браузеры передают реферера, и настраивать это надо в настройках браузера, как я понял, что, в свою очередь, не слишком хорошо для казуальной флеш-игры в соц.сети.

Еще раз прошу прощения за нубские изречения :oops:

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 12 мар 2011, 13:31
bodnar
Вы хотите чтобы ваш собственный api был частью флешки? Или все же запрос на свой сервер который в свою очередь запрос к нужному api и возвращается результат?
начните учить php, там и разберетесь

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 12 мар 2011, 13:38
LonelyANDRoid
За совет спасибо, начнем =)
Но
bodnar писал(а):Вы хотите чтобы ваш собственный api был частью флешки?
вообще-то да, план изначально был именно таков. Это возможно?

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 12 мар 2011, 14:14
Александр
LonelyANDRoid писал(а):1. вызывает функцию моего API, пусть будет myAPI.inviteFriends(userID:String);
2. затем myAPI, в соответствии с текущей сетью (пусть это будет ВКонтакте), (возможно) выполняет некоторые необходимые манипуляции;
3. вызывает функцию wrapper.external.showInviteBox().
Вариант 1: Приложение обращается к твоему серверу, твой сервер выполняет запрос к api и возвращает результат - не все методы можно вызывать с сервера.
Вариант 2: Приложение обращается к твоему серверу, сервер определяет какой api метод нужно вызвать (в зависимости от соц сети) и возвращает приложению какое-то значение, например vk_invite. В приложении записано, что при возвращении такого ответа от сервера, будет вызываться wrapper.external.showInviteBox().
Вариант 3: Не делать лишнее обращение к серверу как во втором варианте, а хранить все методы соц сетей в самом приложении. Так же определить соц сеть и вызывать нужную функцию.
LonelyANDRoid писал(а):я всё еще не разобрался, как использовать HTTP_REFERER

Код: Выделить всё

<?if (strpos($_SERVER['HTTP_REFERER'], "http://vk.com")) { // метод vk} else if (strpos($_SERVER['HTTP_REFERER'], "http://my.mail.ru")) { // метод мой мир} // и т.д.?>
Можно определять соц сеть по flashVars. Изучить какие параметры передаются в каждой соц сети и найти те по которым можно определить.

Re: API (wrapper / адаптер / обертка) для нескольких соц. сетей.

Добавлено: 12 мар 2011, 15:22
LonelyANDRoid
Александр
Огромное спасибо =)