wall
можно получить только с редиректом на https://oauth.vk.com/blank.html
. Так ВК борется со спамом, когда у пользователя один раз получают разрешение, и потом спамят от имени его аккаунта.Данное право доступа по умолчанию недоступно для сайтов (игнорируется при попытке авторизации для приложений с типом «Веб-сайт» или по схеме Authorization Code Flow).
blank.html
:не делайте так!
Попросить у пользователя скопировать адресную строку окна и вставить в форму на вашем сайтеhttp://oauth.vk.com/blank.html
c токеном в хэше, вытащить его вы сможете только, будучи «над» браузером пользователя. Web extension, установленный в браузере пользователя или целиком ваше приложение на каком-нибудь Electron с компонентом браузера смогут получить такие данные. В обычном браузере этого никак не сделать: чужой домен.users.get()
с этим токеном: вернёт данные пользователя, выдавшего токен. при вызове команды все обнуляется, но все же
id
самого свежего проверенного поста на каждой из стен. Чтобы потом проверять до него, при необходимости проверив глубже, чем на 100 постов.photos="188241464_456240492"
и обязательными стандартными v
и aсcess_token
. attachment
в messages.send()Если я буду использовать VK API для получения ID, ФИО и картинки пользователя, то мне надо их хранить у себя в базе, чтобы этот пользователь мог использовать сервис?Нет. Храните только ID. Для отображения данных по пользователю запрашивайте картинку и ФИО динамически из интерфейса, прямо из браузера посетителя.
Смогу ли они найти друг друга через поиск по сайту, если данные, полученные через VK API не хранить на сайте?Смотря, по каким признакам искать. По «направлениям деятельности» – смогут. Получат набор id ВК, отобразят их аватарки, ФИО и ссылки на профили.
id, id-vk, id_naprav
(или можно обойтись двумя колонками, без просто-id, объявив primary index двухколоночным).id_naprav
один из списка. Собрали id_vk
, удовлетворяющие критерию. Отдали в интерфейс. Там запросили из ВК по этим id аватарки и ФИО, показали. getConversations()
("v" и "s" местами поменять) post — запись на стене пользователя или группы;
comment — комментарий к записи на стене;
photo — фотография;
audio — аудиозапись;
video — видеозапись;
note — заметка;
market — товар;
photo_comment — комментарий к фотографии;
video_comment — комментарий к видеозаписи;
topic_comment — комментарий в обсуждении;
market_comment — комментарий к товару;
sitepage — страница сайта, на котором установлен виджет «Мне нравится».
foreach ($request->getParams() as $key => $param) {
foreach ($_REQUEST as $key => $param) {
$sign = "";
foreach($_REQUEST AS $key => $param) {
if ($key == 'hash' || $key == 'sign') continue;
$sign .=$param;
}
$secret = '3iiyZNDFaXgR6yZMxK'; // Настройки приложения – Защищённый ключ
$sig = $secret ? hash_hmac('sha256', $sign, $secret) : "";
if( $sig === $_REQUEST['sign']) {
echo "Подписи совпали.";
} else {
echo "Разные подписи, не хорошо.";
}
widgets.like.shared
VK.Observer.subscribe(
"widgets.like.shared",
function f() {
alert ("Thank you for your SHARE.");
}
);