Форум русской поддержки Joomla!® CMS
27.04.2017, 22:47:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: 1 [2] 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

ВКонтакте - Подключение Open API

 (Прочитано 57307 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dmytrodream
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« : 19.04.2010, 01:21:56 »

Open API - система для разработчиков сторонних сайтов, которая предоставляет им возможность авторизовывать пользователей ВКонтакте на своих сайтах и с их согласия пользователей получать доступ к их информации, друзьям, фотографиям, аудиозаписям, видеороликам, объявлениям и др.
Более подробно В контакте http://vkontakte.ru/pages.php?o=-1&p=Open API

Каким образом это реализовать в Joomla?

файл xd_receiver.htm создал и запихнул на хост, а вот вопрос, куда добавлять вот этот блок:

<div id="vk_api_transport"></div>
<script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script>
<script type="text/javascript">
  VK.init({
    apiId: "ВАШ_API_ID",
    nameTransportPath: "<путь от корня сайта>/xd_receiver.htm"
  });
</script>

Для тех кто не хочет переходить по ссылке, инструкцию ложу сюда.


Open API - система для разработчиков сторонних сайтов, которая предоставляет им возможность авторизовывать пользователей ВКонтакте на своих сайтах и с их согласия пользователей получать доступ к их информации, друзьям, фотографиям, аудиозаписям, видеороликам, объявлениям и др.

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

Подключение Open API
Для подключения возможности использования платформы Open API на Вашем сайте, необходимо выолнить следующие действия:


■Необходимо создать новое или взять уже созданное приложение
■Зайти на страницу редактирования приложения и выбрать раздел Open API в правом меню
■В появившейся форме необходимо заполнить следующие поля:
■Open API URL - адрес сайта к которому Вы планируте подключить Open API (например http://durov.at/)
■Базовый домен - базовый домен Вашего сайта (например, durov.at)


Ипользование Open API
Для взаимодействия с серверами ВКонтакте Open API использует технику кроссдоменной коммуникации. Поэтому для того, чтобы Ваш сайт мог взаимодействовать с серверами ВКонтакте, Вам необходимо разместить на Вашем сервере небольшой HTML-файл, который будет служить кроссдоменным каналом обмена данными.

Данный файл Вы можете загрузить по следующей ссылке http://durov.at/xd_receiver.html, либо создать самостоятельно, вставив в пустой файл xd_receiver.html следующий HTML-код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Open API XD Receiver</title>
  </head>
  <body>
    <script src="http://vkontakte.ru/js/api/xd_receiver.js" type="text/javascript"></script>
  </body>
</html>
Данный файл Вам неободимо выложить в удобном месте на Вашем сервере.

Инициализация Open API
Инциализация Open API может происходить двумя способами: обычным (синхронным) и асинхронным.

Обычная инициализация
Для использования обычной инициалиазации необходимо добавить следующий блок кода внутри тега:

<div id="vk_api_transport"></div>
<script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script>
<script type="text/javascript">
  VK.init({
    apiId: "ВАШ_API_ID",
    nameTransportPath: <путь от корня сайта>/xd_receiver.htm"
  });
</script>

Асихронная инициализация
В отличие от обычной, асинхронная инициализация Open API, позволяет производить инициализацию платформы параллельно инциализации Вашего JavaScript-кода. Для использования асинхронной инициализации, добавьте следующий HTML и JavaScript код сразу же после открытия тега:

<div id="vk_api_transport"></div>
<script type="text/javascript">
  window.vkAsyncInit = function() {
    VK.init({
      apiId: "ВАШ_API_ID",
      nameTransportPath: <путь от корня сайта>/xd_receiver.htm"
    });
  };

  (function() {
    var el = document.createElement("script");
    el.type = "text/javascript";
    el.src = "http://vkontakte.ru/js/api/openapi.js";
    el.async = true;
    document.getElementById("vk_api_transport").appendChild(el);
  }());
</script>
При использовании асинхронной инициализации наличие контейнера vk_api_transport является обязательным условием успешной инициализации. При обычной инициализации, контейнер будет создан автоматически, в случае его отсутсвия.
Записан
 
napstric
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 57



« Ответ #31 : 03.05.2010, 22:42:48 »

Подскажите откуда брать Защищенный ключ?
Записан
napstric
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 57



« Ответ #32 : 04.05.2010, 00:09:25 »

Создайте новое приложение, правильно выбрав его "тип", (ссылка на создание есть в той же новости в блоге). Я не буду описывать процесс, т.к. вероятнее всего сам ошибся (не хочу вас запутать), но на самом деле принцип не сложный (никаких дополнительных знаний не потребуется). Сразу же после создания станет доступна кнопка "Настройки" (где вы получите ID приложения и Защищенный ключ), а кнопки "Open API" не было. Мне пришлось сохранить как есть, а затем перейти в "мои приложения", после чего такая кнопка появилась и вней действительно были поля для адреса сайта.
Нужно ли делать приложение доступным для пользователем и обязан ли пользователь разместить жто приложение на своей странице для того, чтобы залогиниться на вашем сайте или дать доступ к своей странице - я не знаю.


Непонимаю это где и откуда))
Записан
metallector
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #33 : 04.05.2010, 19:42:23 »

403 - доступ запрещен... что за?
видимо нужно поставить CHMOD 777 на xd_receiver.html
Записан
dm1try
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 30


www.e-okulovka.ru


« Ответ #34 : 04.05.2010, 20:42:12 »

видимо нужно поставить CHMOD 777 на xd_receiver.html
не помогло...
Записан
DKsN
Давно я тут
****

Репутация: +14/-0
Offline Offline

Пол: Мужской
Сообщений: 258


[BODY]


« Ответ #35 : 05.05.2010, 11:46:11 »

это, скорее всего говорит о том, что приложение не прошло проверку администрацией В КОНТАКТЕ, и по этому получение указанных в запросе с вашего сайта данных о пользователе невозможно.

Я отправлял на проверку, не прошло. Ответ был, что iFrame позволяет изменять нижнюю границу приложения под размер окна. К чему это я так и не понял. Да и максимальный размер фрейма всего лишь ш827 х в730. Может для представления сайта как приложения нужно на сайте сделать отдельную страницу и подогнать её по возможности фрейма В КОНТАКТЕ, что бы без прокруток было?
Записан
M.C.
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 34


« Ответ #36 : 06.05.2010, 00:26:10 »

а это работает с JomSocial?
Записан
Sleem
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 32


« Ответ #37 : 06.05.2010, 16:23:46 »

что Вы паритесь - не работает ничего! Вы проверяли в эксплорере ниже 8 версии? там вылезает куча ошибок!
Записан
devul
Давно я тут
****

Репутация: +21/-1
Offline Offline

Сообщений: 288


если помог можете поставить +


« Ответ #38 : 07.05.2010, 23:22:35 »

в попку эти эксплореры... они скоро вымрут нафик
Записан
Sleem
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 32


« Ответ #39 : 11.05.2010, 17:53:00 »

только 50 % посетителей социалки сидит на них
Записан
devul
Давно я тут
****

Репутация: +21/-1
Offline Offline

Сообщений: 288


если помог можете поставить +


« Ответ #40 : 12.05.2010, 18:56:24 »

ммочить надо таких недоюзерофф laugh Cheesy laugh Roll Eyes
Записан
Лат
Осваиваюсь на форуме
***

Репутация: +19/-6
Offline Offline

Пол: Мужской
Сообщений: 85


Звоните 8 (905) 778-52-44


« Ответ #41 : 15.05.2010, 21:27:33 »

http://loginza.ru/ Появилась вот такая штука. Надо делать плагин... Для Wordpressа есть уже!
Записан
Reef_86
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #42 : 20.06.2010, 17:19:12 »

http://vjoomla.ru/blogs/item/277-loginza.html?utm_source=vjoomla.ru&utm_medium=joomla
Вот появился.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #43 : 05.08.2010, 20:06:54 »

Код:
500 - Layout "blog" not found
хоть тресни не пойму почему....
Установил всё из этого поста
http://joomlaforum.ru/index.php/topic,110740.msg615735.html#msg615735

////////////
Чёрт... это же моя страница ошибок !  а как узнать куда перекидывает после логина ?
Записан
Neboqitel
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 39


« Ответ #44 : 15.08.2010, 18:40:52 »

У меня на Joostina всё работает,но хотелось чтобы работало еще вместе с CommunityBuilder,а именно я так понял требуется чтобы пользователь был не только в jos_users но еще и в jos_comprofiler или как то сделать автоматическую синхронизацию при отправке данных как в настройках CommunityBuilder
Записан
devul
Давно я тут
****

Репутация: +21/-1
Offline Offline

Сообщений: 288


если помог можете поставить +


« Ответ #45 : 16.08.2010, 13:10:21 »

Тож мучаюсь этим.. как - неясно сделать(( Думаю можно дописать 2й запрос в базу чтоб вносил и в копрофайл) вот ток как эт сделать хз(
Записан
Neboqitel
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 39


« Ответ #46 : 16.08.2010, 18:02:04 »

Или второй запрос дописать или сделать чтобы после отправки данных происходила синхронизация
вот функция синхронизации
Код:
function syncUsers() {

global $_CB_database, $my, $ueConfig;



// 1. add missing comprofiler entries, guessing naming depending on CB's name style:

switch ( $ueConfig['name_style'] ) {

case 2:

// firstname + lastname:

$sql = "INSERT IGNORE INTO #__comprofiler(id,user_id,lastname,firstname) "

." SELECT id,id, SUBSTRING_INDEX(name,' ',-1), "

."SUBSTRING( name, 1, length( name ) - length( SUBSTRING_INDEX( name, ' ', -1 ) ) -1 ) "

." FROM #__users";

break;

case 3:

// firstname + middlename + lastname:

$sql = "INSERT IGNORE INTO #__comprofiler(id,user_id,middlename,lastname,firstname) "

. " SELECT id,id,SUBSTRING( name, INSTR( name, ' ' ) +1,"

." length( name ) - INSTR( name, ' ' ) - length( SUBSTRING_INDEX( name, ' ', -1 ) ) -1 ),"

." SUBSTRING_INDEX(name,' ',-1),"

." IF(INSTR(name,' '),SUBSTRING_INDEX( name, ' ', 1 ),'') "

. " FROM #__users";

break;

default:

// name only:

$sql = "INSERT IGNORE INTO #__comprofiler(id,user_id) SELECT id,id FROM #__users";

break;

}

$_CB_database->setQuery($sql);

if (!$_CB_database->query()) {


return;

}

$affected = mysql_affected_rows();

if ($affected) {


}



$sql = "UPDATE #__comprofiler SET `user_id`=`id`";

$_CB_database->setQuery($sql);

if (!$_CB_database->query()) {


return;

}

$affected = mysql_affected_rows();

if ($affected) {


}



// 2. remove excessive comprofiler entries (e.g. if admin used mambo/joomla delete user function:

$sql = "SELECT c.id FROM #__comprofiler c LEFT JOIN #__users u ON u.id = c.id WHERE u.id IS NULL";

$_CB_database->setQuery($sql);

$users = $_CB_database->loadResultArray();

if (count($users)) {


}

if ($_CB_database->getErrorNum()) {


return;

}

$msg = deleteUsers($users, true);



}
Записан
veter1976
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 130



« Ответ #47 : 21.08.2010, 23:58:50 »

http://vjoomla.ru/blogs/item/277-loginza.html?utm_source=vjoomla.ru&utm_medium=joomla
Вот появился.

Не только у этого компонента но и у других нет интеграции с СВ. Я по крайней мере не нашел, пока еще
Записан
SKIT54
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #48 : 29.09.2010, 18:58:26 »

Поставил компонент. Копка появилась - всё ок. Жмёшь на кнопку - перекидывает на страницу регистации где нужно ввести свой email. Ввожу email, жму "регистрация" и ничего не происхоит..((( Подскажите в чем проблема может быть?
Записан
Snegv_UA
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3



« Ответ #49 : 19.10.2010, 00:33:44 »

http://loginza.ru/ Появилась вот такая штука. Надо делать плагин... Для Wordpressа есть уже!
Спасибо за ссылочку отлично работает на Joomla 1.5.21 вместе c CB Демо drink
« Последнее редактирование: 19.10.2010, 00:43:39 от Snegv_UA » Записан
Snegv_UA
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3



« Ответ #50 : 19.10.2010, 00:42:46 »

Не только у этого компонента но и у других нет интеграции с СВ. Я по крайней мере не нашел, пока еще
это не так Демо
Записан
veter1976
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 130



« Ответ #51 : 19.10.2010, 13:17:38 »

это не так Демо

И правда, есть. Я на тот момент не нашел его. Хотя если судить по дате, когда выложили стабильную версию, то она позже появилась, чем я смотрел.
Спасибо за ссылочку. По тестируем в ближайшее время.
Записан
veter1976
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 130



« Ответ #52 : 21.10.2010, 19:47:25 »

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

Посмотрел компонент, это компонент Loginza http://vjoomla.ru/blogs/item/277-loginza.html
Работает, даже с форумом (Кунена) не кофликтует, в котором установил в настройках авторизацию через СВ.
Записан
Snegv_UA
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3



« Ответ #53 : 21.10.2010, 22:50:22 »

Посмотрел компонент, это компонент Loginza http://vjoomla.ru/blogs/item/277-loginza.html
Работает, даже с форумом (Кунена) не кофликтует, в котором установил в настройках авторизацию через СВ.
с фаерберт тоже ,можно ссылочку на стабильную кунена
Записан
veter1976
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 130



« Ответ #54 : 24.10.2010, 10:36:39 »


Я не помню, откуда я сам брал, но есть здесь:
http://www.kunena.com/download
http://joomlaruclub.ru/files/cat_view/34-.html
Записан
Aquasonick
Давно я тут
****

Репутация: +1/-7
Offline Offline

Пол: Мужской
Сообщений: 315


Пока семь раз отмеришь - другие уж сожрут.


« Ответ #55 : 15.11.2010, 23:13:45 »

Я у себя сделал просто создал модуль с этим кодом и вставил в страницу:
http://svadba-tambov.ru/news/322-registration-authorization-site-vkontakte
Получилось очень легко и просто. Использовал модуль: http://vampirus.ru/scripts/%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82-%D0%B4%D0%BB%D1%8F-%D0%B2%D1%85%D0%BE%D0%B4%D0%B0-%D0%B2-joomla-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B2%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82/
Там все популярно описано.
А вот с добавлением комментариев через вокнтакте повозится пришлось.
Записан
videovonline
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #56 : 13.06.2011, 21:19:30 »

403 - доступ запрещен... что за?

Та же проблема...  И еще оказывается не работает на доменах в зоне ".рф"  Sad
Записан
VampiRUS
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 30


« Ответ #57 : 01.02.2012, 06:30:20 »

У кого проблема с 403 большая просьба зайти и пробовать войти через виджет и кнопку http://vampirus.ru/wp-demo/vk.html
А то, что будет выведено мне на почту отправьте, vamp1rus@yandex.ru с темой vklogin help. Личные данные можете поменять, если чего то боитесь.
Без вашей помощи решить проблему с куками не удасться. У меня не получается воспроизвести проблему.
Может из-за антивируса или фаервола такое получается, выяснить не могу. В общем надеюсь на вашу помощь.
Записан
VampiRUS
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 30


« Ответ #58 : 01.02.2012, 06:32:16 »

Или в ЛС тут тоже можно.
Записан
VampiRUS
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 30


« Ответ #59 : 11.02.2012, 08:35:05 »

С РФ доменами частично работает вконтакте, а именно в Google chrome. В других браузерах не работает из-за того, что window.location.hostname не в punycode отдаётся. У FF этот баг давно висит в трекере. Если хотите помочь вот ссылка на баг покоментите https://bugzilla.mozilla.org/show_bug.cgi?id=462155 , если будет много, то пофиксят.
В Опере такая же фигня, на их форуме отписался.
В группу вконтакта написал. Будем ждать.
Записан
VampiRUS
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 30


« Ответ #60 : 11.02.2012, 08:59:10 »

Так же можно в службу поддрерки написать, что-то типа "не работает виджет авторизации для русскоязычных доменов в браузерах Firefox и Opera, в Google chrome работает."
Думаю это вариант самый действенный. Поэтому неважно есть у вас русскоязычный домен или нет, сообщите об этом в поддержку вконтакте и будем надеяться на их скорейшую реакцию.
Записан
Страниц: 1 [2] 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet