<
  • Главная
Статьи

Висновок записів зі стіни спільноти Вконтакте на PHP

  1. 1. Створимо Standalone-додаток і отримаємо його токен:
  2. 2. Сформуємо посилання-запит для отримання даних в json форматі використовуючи VK API:
  3. 3. Напишемо невеликий скрипт на php і в ньому виведемо інформацію, обробивши правильно запит з інформацією:

Вчора ввечері, один чоловік попросив вивести записи зі стіни спільноти вконтакте на його сайт, який написаний на мові програмування PHP. Проблема полягала в тому, що його морозив виконавець, який годував сніданками, то не хотів робити, а то просто просив дані від його сторінки вконтакте. Так ось я просто і популярно розпишу до дрібниць, як вивести записи спільноти vk на своєму сайті за допомогою php, причому безкоштовно!

По суті можна вивести не тільки новини, але і все що завгодно і не обов'язково в групі. Але для цього вже читайте офіційну документацію VK API.

Отже поїхали, трохи про те, що ми з вами в цій статті будемо робити:

  1. Створимо Standalone-додаток і візьмемо його token
  2. Сформуємо посилання-запит для отримання даних в json форматі використовуючи VK API
  3. Напишемо невеликий скрипт на php і в ньому виведемо інформацію, обробивши правильно запит з інформацією

Ось власне і все за нашим планом, тепер перейдемо до реалізації. А почнемо ми по порядку з самого першого пункту.

1. Створимо Standalone-додаток і отримаємо його токен:

Для створення програми можете в управління додатками, в меню ви знайдете пункт "Управління" - туди то вам і треба.

Якщо у вас немає такого пункту, не впадайте у відчай. Ви можете включити його показ в налаштуваннях облікового запису вк, або можете перейти просто по посиланню:.

Натискаємо кнопочку "Створити додаток" і на наступній сторінці вводимо назву програми і вибираємо тип "Standalone-додаток", натискаємо кнопку "Підключити додаток".

Йдемо далі, нам потрібно отримати наш token цього додатка, який ми будемо використовувати в нашому запиті для отримання інформації через VK API. Для цього перейдемо в редагування додатки і відкриємо вкладку "Налаштування". На ній нам потрібно взяти "Сервісний ключ доступу" - це і є наш токен, для запиту.

З першим завданням ми впоралися, можемо рухатися далі.

2. Сформуємо посилання-запит для отримання даних в json форматі використовуючи VK API:

Тепер нам потрібно сформувати посилання-запит за допомогою якого ми будемо отримувати даний, використовуючи VK API. Отримувати як ви вже зрозуміли, ми будемо в json форматі, вконтакте стандартно віддає інформацію через API за допомогою json.

Нижче я навів запит, який використовував для отримання даних, в ході цього уроку ми і будемо з ним працювати:

https://api.vk.com/api.php?oauth=1&amp;method=wall.get&amp;owner_id=id_группы&amp;count=количество_записей&amp;v=5.67&amp;access_token=токен

https://api.vk.com/api.php?oauth=1&amp;method=wall.get&amp;owner_id=id_группы&amp;count=количество_записей&amp;v=5.67&amp;access_token=токен

Думаю тут гранично зрозуміло все, але уточню деякі моменти:

method - тут вказуємо використовуваний метод, ми в даний момент використовуємо wall.get.

owner_id - Тут ми вказуємо ID групи або сторінки користувача вк. Будьте уважнішими, якщо ми хочемо використовувати групу (співтовариство) і працювати з ним, то перед ID повинен стояти знак "-" і буде це виглядати приблизно так "-87165069".

count - Кількість одержуваних даних. Вказуйте ціле число від 1 до 100. Більше 100 отримати не вийде, обмеження VK API.

access_token - Токен, який ми отримували раніше в ході 1 пункту. Він і буде давати можливість працювати з даними.

v = 5.67 - Версія використовуваного VK API. Можете в цілому не міняти.

На цьому тут все, іншу інформацію по VK API можете знайти на сайті вк, в розділі для розробників. А тим часом йдемо далі ...

3. Напишемо невеликий скрипт на php і в ньому виведемо інформацію, обробивши правильно запит з інформацією:

Дані при отриманні за такою ось посиланням (з пункту 2), ми отримуємо в форматі json, так уже склалося, що VK API віддає всю інфу в такому типі ... Нам же потрібно перетворити все в масив, для подальшої обробки і значення цього масиву вивести.

Нижче ви можете побачити скрипт, які я написав, кожного значення-настройка винесені в самий верх файлу, для зручності. Кожен рядок підписана і думаю у вас не виникне проблем з цим кодом.

// ID нашої спільноти або сторінки вконтакте $ wall_id = "-86529522"; // Видаляємо мінус у ID груп, що ми використовуємо вище (знадобиться для посилання). $ Group_id = preg_replace ( "/ - / i", "", $ wall_id); // Кількість записів, яке нам потрібно отримати. $ Count = "3"; // Токен $ token = "2e73ed992e73ed992e73ed99da2e2e80f322e732e73ed997700261c9465df4bf4a1eeff"; // Отримуємо інформацію, підставивши всі дані вище. $ Api = file_get_contents ( "https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id= {$ wall_id} & count = {$ count} & v = 5.58 & access_token = {$ token}"); // Перетворимо JSON-рядок в масив $ wall = json_decode ($ api); // var_dump ($ wall); // Отримуємо масив $ wall = $ wall -> response -> items; // Обробляємо дані масиву за допомогою for і виводимо потрібні значення for ($ i = 0; $ i <count ($ wall); $ i ++) {echo "<b>". ($ I + 1). "</ B>. <I>". $ Wall [$ i] -> text. "</ I> <br />". date ( "Ymd H: i: s", $ wall [$ i] -> date). "<br /> https://vk.com/wall- {$ group_id} _ {$ wall [$ i] -> id}"; }

// ID нашої спільноти або сторінки вконтакте $ wall_id = "- 86529522"; // Видаляємо мінус у ID груп, що ми використовуємо вище (знадобиться для посилання). $ Group_id = preg_replace ( "/ - / i", "", $ wall_id); // Кількість записів, яке нам потрібно отримати. $ Count = "3"; // Токен $ token = "2e73ed992e73ed992e73ed99da2e2e80f322e732e73ed997700261c9465df4bf4a1eeff"; // Отримуємо інформацію, підставивши всі дані вище. $ Api = file_get_contents ( "https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id={$wall_id}&count={$count}&v=5.58&access_token={$token}"); // Перетворимо JSON-рядок в масив $ wall = json_decode ($ api); // var_dump ($ wall); // Отримуємо масив $ wall = $ wall-> response-> items; // Обробляємо дані масиву за допомогою for і виводимо потрібні значення for ($ i = 0; $ i <count ($ wall); $ i ++) {echo "<b>". ($ I + 1). "</ B >. <i> ". $ wall [$ i] -> text." </ i> <br /> ".date (" Ymd H: i: s ", $ wall [$ i] -> date). "<br /> https://vk.com/wall-{$group_id}_{$wall[$i]->id}"; }

Трохи інформації за цим кодом:

$ wall [$ i] -> date - Отримання дати, де date - назва поля, яке нам потрібно отримати. З рештою все стандартно, міняємо назву поля з масиву на потрібне і отримуємо значення. На сторінці з інформацією по wall.get VK API - можете знайти назви полів і приклад детального коду.

Ось власне і все. Для наочного прикладу я взяв групу VK FEST, так як в моїй немає ніяких записів з текстом, а вивести він зможе тільки дату і посилання на пост (про картинки та інші медіа я не кажу).

Для наочного прикладу я взяв групу VK FEST, так як в моїй немає ніяких записів з текстом, а вивести він зможе тільки дату і посилання на пост (про картинки та інші медіа я не кажу)

На цьому все, код можете допив під себе і доробити висновок тих елементів, які вам потрібні. Дякую за увагу, якщо залишилися якісь питання або доповнення, пишіть їх в коментарях розберемо, доповнимо ...

Схоже в блозі

Php?
Php?
Php?
Php?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью