|
|
#1
|
|||
|
|||
Функция для Вк
Как написать функцию для ВК?
1) Зайти на страницу в ВК Цикл: Есть ли непрочитанное сообщение? Если да: Есть в нем ссылка на другую страницу в ВК? Если да: Репост данной страницы |
#2
|
||||
|
||||
вспомогательные функции уже реализованы? авторизация, загрузка информации и т.д.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
нет, не реализованы
|
#4
|
||||
|
||||
тогда еще рано эту реализовывать
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
не совсем понятно, что значит репост страницы? репостить можжно только записи, сами страницы пользователей/пабликов репостить нельзя.
вот пример авторизации,получения месаги и репоста, дальше головой сам поработай) все описания методов тут: https://vk.com/dev/wall.repost Для начала в компоненте idHttp1 установи контент-тип на "application/x-www-form-urlencoded" авторизация: Код:
var //глобальные API_GET_TOKEN:String='https://oauth.vk.com/token?username=%s&password=%s&client_id=3140623&client_secret=VeWdmVclDCtn6ihuP1nt&grant_type=password'; // ссылка на авторизацию, вернёт токен. client_secret - от айфона. API_METHOD:String='https://api.vk.com/method/%s?v=5.24&access_token=%s&%s'; //адрес запросов к вк апи, где 'проценты' туда подставим токен, имя апи-метода и параметры. global_token:String; var url, response:String; begin //авторизация, получаем токен. url := Format(API_GET_TOKEN, [login, pass]); try response:= IdHTTP1.Get(url); //тут ты парсишь переменную response и считываешь из нее параметр "access_token". global_token:= ТУТ ПАРСИШЬ response. Except End; получить сообщения: Код:
var api_url, method, params, response:String; link:String; begin method:='messages.getDialogs'; params:='count=200&unread=1'; //параметры. тут указываем считать 200 сообщений, unread=1 - только новые. api_url:= Format(API_METHOD, [method, global_token, params]); response:= idHttp1.GET(api_url); //тут парсишь ответ и читаешь твои сообщения. параметр count в ответе вернет кол-во непрочитанных. //считываешь сообщения и ищещь если есть ссылка то заносишь ее в переменную link. //если ссылка на запись стены то из ссылки вида "https://vk.com/id1?w=wall1_45630" (где 1- ид Дурова, а 45630-ид записи) вырезаешь часть "wall1_45630" и репостишь её так: link:='wall1_45630'; method:='wall.repost'; params:= 'object='+link'; api_url:= Format(API_METHOD, [method, global_token, params]); response:= idHttp1.GET(api_url); //готово. PS: для работы с https не забудь библиотеку ssl закинуть в папку с твоей прогой,и подключить TIdSSLIOHandlerSocketOpenSSL Последний раз редактировалось Snake22, 23.08.2014 в 06:27. |